@title{ImageWorks}{ImageWorks Data Browser}
@keyword{ImageWorks}

 ImageWorks (or PCI Image Handler) is an image display and manipulation program
 from PCI Enterprises and is part of PCI's image analysis software.
 Imageworks must be licensed in order to use all available functions.
 If this program is NOT licensed, then it becomes the PCI Image Handler,
 which loads images and performs a few other sample ImageWorks functions
 for demonstration purposes only.

 Throughout this on-line help documentation, this program is referred to
 by its licensed name ``ImageWorks'', instead of its unlicensed name
 ``Image Handler''.  If you would like to license this program and enable all
 functions, contact PCI at:

  PCI Enterprises
  50 West Wilmot Street, Unit 200E
  Richmond Hill, Ontario, Canada  L4B 1M5
  Tel: (905) 764-0614
  Fax: (905) 764-9604
  Email: sales@pci.on.ca

 In the United States, contact:

  PCI Remote Sensing Corporation
  1925 N. Lynn Street, Suite 803
  Arlington, VA  22209, U.S.A.
  Tel: (703) 243-3700
  Fax: (703) 243-3705
  Email: sales@pci.on.ca

 See Also: {CLWORKS}Classify Menu

1	Preferences
@keyword{Preferences Customization}
@index{Preferences File}

 Certain configuration items for ImageWorks may be stored in an ImageWorks
 preference file.  The preference file is named imageworks.prf (or
 imagewor.prf on systems with an 8.3 name space like MicroSoft Windows).

 The preference file is a simple text file containing text lines with
 a preference name, a colon and a value.  For instance, ImageWorks can
 have the default cursor colour controlled via the preference file, and
 the preference name is "CursorColour".  The following line in the
 preference file would set the default cursor colour.

  CursorColour: Red

 Much like other PCI, files it is possible to have a preference file in 
 various locations: in the local directory, the users home directory,
 the group procedure directory and the system wide procedure directory.  If
 more than one of these files is found, they will all be read in order with
 the most local files being processed last and taking precedence over the
 more global files.

  - imageworks.prf (most local)
  - $HOME/imageworks.prf
  - $PCIGROUP/etc/imageworks.prf
  - $PCIHOME/etc/imageworks.prf (most global)

 See Also: {..|}Motif Customization

2	Adding Menu Items
@keyword{Menu Items}

 The Menu preference can be used to add menu items to the ImageWorks 
 main menubar menus.  In fact new menus can also be added.

 The data arguments to the Menu preference have the following fields.
 
  - field 1: The name of the procedure to run if the entry is selected, or
             an empty string in double quotes if this item is to be a new
             pulldown menu.
  - field 2: The visible text to be placed on the menu item.
  - field 3: The name of the pulldown menu under which to place the new
             menu item, or the name of the new pulldown menu if field 2 is
             an empty string.  The existing pulldown menus in ImageWorks are 
             named FileMI, EditMI, ViewMI, ToolsMI and HelpMI.
  - field 4: The name of the new menu item (should be unique).

 The names of all the menu items in ImageWorks can be established by 
 running the DUMPMENU procedure in the ImageWorks modelling window. 

 Example:

 This item in the preference file would add a new menu item to the Tools
 menu (which is named ToolsMI).   The new entry would be named BounceMI, and
 have visible text "Bounce...".  When selected the EASI+ procedure BOUNCE.EAS
 would be run.

  Menu: BOUNCE "Bounce..." ToolsMI BounceMI

 The following example would create a new menu called Misc (and named
 MiscMI), and add one item to that menu which would invoke the EASI+ 
 procedure AUTOLOAD.EAS.

  Menu: "" "Misc" MiscMI
  Menu: AUTOLOAD "Auto Load" MiscMI AutoLoadMI

 See Also: {..|}Disabling Menu Items

2	Disabling Menu Items
@keyword{Menu Items}

 The Disable-Menu preference can be used to remove menu items, or whole menus
 from the ImageWorks main menubar.  This is primarily useful for making a
 simplified version of ImageWorks available, or to remove a menu item so that
 a replacement can be provided using the ``Menu'' preference.

 The data arguments to the Disable-Menu preference are the list of names 
 leading to the particular menu item to be disabled.  The names of all the
 menu items in ImageWorks can be established by running the DUMPMENU procedure
 in the ImageWorks modelling window.

 The Disable-Menu preference is applied to the ImageWorks menubar before 
 the Menu preference, so it is possible to disable a PCI provided menu item,
 and replace it with a user provided EASI script.

 Example:

 The following preferences would remove the filter item on the Tools menu
 and remove the entire View menu.
 
  Disable-Menu: ToolsMI FilterMI
  Disable-Menu: ViewMI

 See Also: {..|}Adding Menu Items

2	Cursor Colour
@keyword{CursorColour}

 The CursorColour preference can be used to modify the default colour of the
 cursor in the image display windows.  The default is white, but this value
 will be overridden if the user changes the colour in the Cursor Control
 panel.

 The value of this preference may be any recognised cursor colour, or 
 any RGB colour in the format ``(RGB: RRR GGG BBB)''.

 Example:

 The first line would set the default cursor colour to Red, while the second
 would set the default colour to the explicit provided RGB value (red=200,
 green=128, blue=64).

  CursorColour: Red
  CursorColour: (RGB: 200 128 64)

 See Also: {..|..|}Cursor Control

2	Graphic Colour
@keyword{GraphicColour}

 The Graphic#Colour preference can be used to establish a default colour
 for a specified graphic plane.  The ``#'' sign is replaced by the number
 of the graphic plane, and the argument value can be any recognised 
 colour name or RGB tuple.

 Example:
 
 Set the first three graphic plane colours to shades of grey.

  Graphic1Colour: 50 50 50
  Graphic2Colour: 125 125 125
  Graphic3Colour: 200 200 200

 See Also: {..|..|}Graphic Info

2	Naming A Colour
@keyword{NamedColor}

 The NamedColour preference allows the user to defined a new named colour
 to the system.  This colour should appear in option menus used to select
 a colour. 

 The value arguments to the NamedColour resource should be a name for the
 new colour followed by the red, green and blue components of that colour.
 If the colour name is more than one word, it should be enclosed in double
 quotes.

 Example:

 Create a new colour called Slate Grey with the specified RGB value.

  NamedColour: "Slate Grey" 40 40 40

2	Default File Extensions
@keyword{DefaultExtension}

 The DefaultExtensions preference allows the user to define the default
 extension, or extensions they would like to see in database selection
 dialogs.  They can select multiple extensions they would like see; however,
 on some systems (such as X/Motif) only the first extension will have an
 effect.

 Note that this preference only affects the primary file selection mechanism
 for image and vector files, not the file selectors used to access ancillary
 text files.

 The list of extensions should be separated by vertical bar (pipe) symbols,
 and there should be no space in the list of extensions.  Each extension
 should be formed with an asterix followed by a dot followed by the extension
 as shown in the example below there the user requests to see files with
 the extensions .pix (PCIDSK), .tif (TIFF) and .jpg (JPEG JFIF).

 Example:

  DefaultExtensions: *.pix|*.tif|*.jpg
  
2	Shape Save Limit
@keyword{ShapeSaveLimit Undo Redo Limit}

 The ShapeSaveLimit preference allows the user to define the maximum
 number of shapes that can be saved in the Vector Editor's undo/redo
 buffer when changes are made with a vector editing operation.  The
 default for this preference is 100 shapes.  Hence, if a user performs
 a single vector editing operation that affects more than ShapeSaveLimit
 shapes (such as a Move), then the changes caused by this operation will
 not be saved in the undo/redo buffer so they can not be undone, and all
 of the previous editing changes will be cleared from the undo/redo buffer.

2	Compact Vectors

 The CompactVectors preference can be used to request that ImageWorks store
 vectors in a more compact form in memory than is the default.  However,
 this imposes a price is redraw performance.  The CompactVectors preference
 can have the following values:

 - OFF: Use the default (memory intensive, but fast) in memory storage form
        for vectors.
 - ON: Use a compact form to store the vectors in memory that is slower but
       doesn't lose any information.
 - 2D: Use the compact (ON) format, and don't bother storing a Z coordinate
       for any of the vertices.
 - Float: Use the compact (ON) format, and don't keep full double precision
          (8 byte binary numbers) accuracy for vector points.  Instead use
          float's (4 byte binary numbers) imposing a modest penalty in speed
          and accuracy in order to save more memory.
 - 2D Float: Apply both the 2D and Float options at the same time.

 The CompactVectors preference can be set, or overridden with an environment
 variable called CompactVectors.  The value of the environment has the same
 interpretation as the preference.

 Example:
  CompactVectors: ON

1       Cursor Zoom
@index{Cursor Zoom}{Imagery!Zoom}
@keyword{imagery zoom cursor}

 The Cursor Zoom panel allows the user to view the contents of
 the main ImageWorks display at a different magnification level.

 Even though the ImageWorks control panel provides direct
 magnification, the Cursor Zoom window allows the user to have
 a separate window that contain a magnified image.

 The Cursor Zoom panel can be accessed via the View pull down menu.
 The Cursor Zoom panel contains several controls at the top
 of the window followed by an region where the zoomed image
 is displayed.

 The first left control is a toggle push button labelled "Hold".
 When depressed, the user can move the cursor from the ImageWorks
 main display window without affecting the view inside the
 Cursor Zoom window.
 If this button is not pressed in, the position and region under
 which the cursor is at in the main ImageWorks display window is
 also displayed in the zoom window.

 There is an option menu that displays different index values
 where the user can pick a value to have the image magnified.

 The other option menu provides a list of enhancement operations
 that can be applied to the image displayed in the zoomed
 window.
 In addition to the standard enhancement technique, there are two
 special options called "Hold" and "Slave" under this option menu.
 The "Hold" option is used to "Hold" the zoomed image enhancement.
 While the "Slave" option is used such that whenever a new
 enhancement is applied to the main ImageWorks display window,
 the enhancement is also applied to the Cursor Zoom imagery.

 The user can have several Cursor Zoom window displayed. Each of
 the cusor zoom panel can be used to display a zoom image region
 and enhanced independently by using the controls that are
 available from the Cursor Zoom window.

1	Motif Customization
@keyword{Customization}{Fonts}
@index{Customizing ImageWorks}

 Customizing the Appearance of ImageWorks on X/Motif systems.

 ImageWorks resources, such as fonts and colours, can be customized on
 operating systems which use X-Windows Motif through the .Xdefaults
 file which resides in the user's login directory. The resources
 available are as follows:

  imageworks*fontList:              <font>   (e.g., fixed)

 General purpose font for most of the application. 

  imageworks*annotationFont:        <font>   (e.g., fixed)

 Extra font available in image and graphic annotation. 

  imageworks*fixedFont:             <font>   (e.g., 10x20)

 Font used in areas requiring monospaced characters (e.g. main text
 in Help Panel). 

  imageworks*background:            <colour>  (e.g., grey)

 Background colour for most panels. 

  imageworks*MenuBar*background:    <colour>  (e.g., thistle)

 Colour of all menu bars. 

  imageworks*TitleBar*background:   <colour>  (e.g., lightsteelblue)

 Colour for all title bars.

 Available fonts and colours will depend on your system. Under some
 environments (such as HP VUE) customization is handled by means other
 than the .Xdefaults file. See the operating system user documentation for 
 these environments.

 To set these resources system wide, an app-default file may be
 created called `imageworks', with the same format as the .Xdefaults
 file. It is typically placed in the directory
 /usr/lib/X11/app-defaults. 

1	Copyright
@keyword{Copyright}
@index{Copyright Notice}

   ImageWorks, Version 6.0, Release date: December 1, 1995
 
                           COPYRIGHT

 Software copyrighted (c) by PCI, 50 West Wilmot St., Richmond
 Hill, Ontario, CANADA, L4B 1M5. Tel: (905) 764-0614 

                       RESTRICTED RIGHTS
 
                      CANADIAN GOVERNMENT

 Use, duplication, or disclosure is subject to restrictions as set
 forth in DSS 9400-18 `General Conditions - Short Form - Licensed
 Software'. 

                       U.S. GOVERNMENT

 Use, duplication, or disclosure is subject to restrictions as set
 forth in FAR clause 52.227-19 `Commercial Computer Software -
 Restricted Rights' and in subparagraph (c) (1) (ii) of the
 `Rights in Technical Data and Computer Software Clause' at DFARS
 52.227-7013. 

1	Command Line Options
@keyword{Command Line}{-datasize}{-image}{-graphic}
@keyword{-nocontrol}{-noconfig}{-mainwin}{-share}{-noshare}{-nomenu}
@keyword{-debug}{-nodebug}{-mmap}{-nommap}{-8}{-24}{-play}{-cmd}

 Note:  Command Line Options are not supported on Mac OS.

  Usage: imageworks [options]

 ImageWorks accepts a number of command line options. Some of these
 are for debugging purposes, while others can be used to defined
 operating modes.  Following is a list of command line options:

@verbatim
  -datasize x_size y_size 
@end

@index{Command Line Options!datasize}

 The -datasize option is used to define the size of the image and
 graphic planes in memory. It overrides the datasize defined in the
 parameter file (PRM.PRM), and suppresses the ImageWorks Configuration
 Panel.  The default size is 512 x 512, if there is no PRM.PRM file.

@verbatim
  -image n_planes 
@end

@index{Command Line Options!image planes}

 The -image option allows the number of in-memory image planes to be 
 configured. The argument overrides the number of image planes defined 
 in the parameter file, and suppresses the ImageWorks Configuration Panel.
 The default number of image planes is 3, if there is no parameter file.

@verbatim
  -graphic n_planes 
@end

@index{Command Line Options!graphic planes}

 The -graphic option allows the number of in-memory graphic planes 
 to be configured. The argument overrides the number of graphic planes 
 defined in the parameter file, and suppresses the ImageWorks Configuration
 Panel. The default number of graphic planes is 8, if there is no parameter
 file. The number of graphic planes may not exceed 16. 

@verbatim
  -nocontrol 
@end

@index{Command Line Options!nocontrol}{Command Line Options!demos}
@index{Command Line Options!suppress control panel}

 The -nocontrol option suppresses the popping up of the ImageWorks
 General Control panel. This is primarily useful for hands off demos.

@verbatim
  -noconfig
@end

@index{Command Line Options!noconfig}{Command Line Options!demos}
@index{Command Line Options!suppress configuration panel}

 The -noconfig option suppresses the popping up of the ImageWorks 
 configuration panel.  This is primarily useful for hands off demos.

@verbatim
  -nomenu
@end
@index{Command Line Options!nomenu}

 The -nomenu command line option supresses the menubar from appearing in
 the main ImageWorks display window.  This is primarily useful for hands off
 demos.

@verbatim
  -name window-name
@end

@index{Command Line Options!window name}

 This option allows the name appearing on the window frame of the main
 ImageWorks window to be overridden.  This is the equivalent of setting a
 non-default value in the VDn: parameter in the PRM.PRM file.

@verbatim
  -mainwin display-name 
@end

@index{Command Line Options!display}

 Normally, all of the ImageWorks panels appear on one display; this display 
 is determined by the DISPLAY environment variable or the -display command 
 line option. Sometimes, however, the user will want to display the main
 image window on another display (when there are two monitors side by side,
 for instance).  The -mainwin option allows the user to specify this
 second display.  The `display-name' value should be the name of the display 
 to which the main image window is to be redirected.

@verbatim
  -cmd procedure_name
@end

@index{Command Line Options!EASI procedure}

 The -cmd command line argument is used to pass an EASI Modelling Procedure
 to be executed after ImageWorks startup.  The argument is the name of an
 EASI procedure to be executed.  The filename should be all in upper case,
 and with the extension ".EAS".  Only the base portion of the filename should
 be provided (eg. `filter' instead of FILTER.EAS).

@verbatim
  -play recording_file
@end

@index{Command Line Options!recording playback}

 The -play command is used to trigger automatic execution of a user 
 interaction recording created with the Macro Recorder.  The pathname to
 the file to be executed should be provided as an argument.  The macro will
 be ``played'' after the configuration panel has been popped down, so for
 a fully automated startup the -noconfig commandline argument should also
 be used.

@verbatim
  -share 
  -noshare 
@end

@index{Command Line Options!shared memory}

 The -share option is used to turn on use of the X Windows Shared
 Memory extension where possible. The -noshare option is used to
 ensure the extension is not used. The shared memory extension speeds
 up redraw speed on the screen, sometimes by as much as a factor of
 three if the display is local to the machine running ImageWorks.
 However, on many systems the shared memory extension causes problems
 with proper screen updating when performing Image, Graphic, and
 Vector editing. Thus shared memory is defaulted to not being used.

 People wishing to squeeze extra graphic performance out of
 ImageWorks are encouraged to try out the -share option. 

@verbatim
  -mmap 
  -nommap 
@end

@index{Command Line Options!memory mapped disk IO}

 The -mmap option enables the used of memory mapped disk IO where
 possible. Its use is equivalent to defining the environment
 variable ``ENABLE_MMAP''. The -nommap option disables memory mapped
 disk IO, even if the ``ENABLE_MMAP'' environment variable is defined.

 Memory mapped disk IO can provide IO speedups of up to a factor of
 three on some machines. However, on at least a few machines, the use
 of memory mapped IO can cause problems. Those interested in speeding
 up IO are encouraged to experiment with the -mmap option.  This option 
 only works on some systems.

@verbatim
  -8 
@end

@index{Command Line Options!8-bit}

 The -8 option forces ImageWorks to consider only 8-bit visuals. 

@verbatim
  -24 
@end

@index{Command Line Options!24-bit}

 The -24 option forces ImageWorks to consider only 24-bit visuals. 

@verbatim
  -extra
@end

@index{Command Line Options!extra options}

 This option will enable several extra options in the ``Tools'' pulldown 
 menu and possibly elsewhere.  These functions are not considered to
 be release ready, but may be interesting to experiment with.

@verbatim
  -showerror 
@end

@index{Command Line Options!standard out redirection}
@index{Command Line Options!standard error redirection}

 On the Sun, standard out and standard error are redirected to
 /dev/null. The -showerror option prevents this redirection. 

@verbatim
  -debug [n]
@end

@index{Command Line Options!debug}

 The -debug option places ImageWorks in debugging mode. Plentiful output 
 is sent to standard error.

@verbatim
  -nodebug 
@end

@index{Command Line Options!debug}

 The -nodebug option ensures that ImageWorks is not run in debugging mode. 

1	Configuration
@keyword{Configuration Imagery Graphics}
@index{Configuration}{Imagery!Configuration}{Graphics!Configuration}

 The ImageWorks Configuration Panel allows the user to 
 set up the configuration of an ImageWorks session according 
 to the database file on which the user is going to work. 

 According to the number of channels and the image size of a  
 database, the user can choose to have an ImageWorks session
 that can display an image with an appropriate size containing
 a specific number of image/graphic planes.

 The Configuration panel is invoked automatically if the user
 does not specify any options when starting ImageWorks. The
 automatic invocation will not take place if ImageWorks is 
 launched from VDINIT or XPACE.

 The Configuration panel contains three main sections: the
 `Configuration Method', `File Information' and a
 `User Defined Information' section.

 The Configuration panel also displays an approximate memory requirement that 
 must be available to execute ImageWorks.

 Pressing the ``Accept'' push button will start ImageWorks
 with the specified configuration, whereas the ``Exit'' push
 button will quit ImageWorks. If the selected configuration method 
 is ``Use Image File...'', the user will be able to
 press the ``Accept & Load'' push button to start ImageWorks
 and load in the specified database file.

2	Configuration Method
@index{Configuration Method}{Configuration Panel!Configuration Method}

 This section allows the user to select a configuration
 method. An image file can be selected (Use Image File...)
 or appropriate configuration information can be entered
 in the ``User Defined Information'' area (User Defined).

 By selecting ``Use Image File...'' 
 the user will be able to select a database file;
 the configuration information from the database file will then be 
 displayed in the ``File Information'' section.

 By selecting ``User Defined'', the user will be able
 to enter configur information in the ``User Defined
 Information'' section.  The ``File Information'' section will 
 be cleared.
 
 NOTE: The selected configuration method is displayed in the
 title bar after ``Configuration Method:''.

2	File Information Section
@index{Configuration Panel!File Information}

 The File Information section gives some basic information   
 about the database file on which the user chooses to work. 
 This section is only accessible when the user selects the
 ``Use Image File...'' method.

 This section displays the size of the image and the number
 of channels from a selected database.  Knowing the size of 
 the database window, and the number of channels it contains, 
 the user can configure the ImageWorks session accordingly.

 The ``Reduce to'' scale allows the user to specify a 
 percentage of the database image size that the user
 will view.  When the user selects a database file, the 
 reduction slider value will initially be set to a default value. 
 The up/down arrows permit the user to step up/down to another
 reduction value.

2	User Defined Information
@index{Configuration Panel!User Defined Information}

 The User Defined Information section allows the user 
 to set the size of the imagery, the size of the ImageWorks window, 
 and the number of image and graphic planes to be used.

 The values in the text fields can be changed by using the
 up/down arrows or just by typing in a value.

 The X and Y input text fields for the Image Size allow the user
 to specify the size of the image to be used in ImageWorks.

 The X and Y input text fields for the Visible Window allow
 the user to specify the size of the ImageWorks display window.

 NOTE: The X and Y window size cannot exceed the physical
 screen(or monitor) size and must not be greater than
 the Image Size.

 Pressing the 1:1 Aspect push button will change the values
 for the Visible Window such that the image to be displayed
 has a 1:1 aspect ratio and is 2/3 the size of the physical
 screen.

 The user can specify the number of image planes to be used in
 ImageWorks of the types 8 bit integer, 16 bit signed integer and
 32 bit real.

 The user can choose the number of graphic planes to be 
 displayed in ImageWorks via the Graphic Planes radio buttons.

 See Also: VDINIT, {..|..|}Command Line Options

1	Control Panel
@keyword{Gun Graphics Vectors Imagery Enable Disable Zoom Cursor}
@index{Colour Gun Mappings}{Graphics!Enable}{Imagery!Colour Guns}{Zoom}
@index{Control Panel}

 The ImageWorks Control Panel is used to view and control many
 aspects of the ImageWorks configuration. The image display mode
 (Off/RGB/BW/PC), colour gun mappings, graphic plane enabledness, and vector
 layer enabledness are all controlled from the Control Panel.  The Control
 panel also allows for quick enhancement, zooming, panning, and viewing of
 cursor coordinates.

 The Control Panel is launched automatically when ImageWorks is
 started. If it is popped down, it can be popped back up by selecting
 ``Control Panel'' from the ``Tools'' menu.

@index{Control Panel!Cursor Control}

 The top section of the Control Panel is the cursor area. On the Cursor
 title bar is an option menu controlling the cursor coordinates to
 be displayed beneath the title bar.  The possible cursor coordinate values 
 are Display (for display coordinates), Database (for current file 
 coordinates), Geocoded (for georeferenced coordinates if possible), and 
 Geographic (for geographic (Lat/Long) coordinates).  See the Cursor 
 Control section for a more detailed explanation of these four options.

 Beneath the cursor title bar are the cursor coordinates in the current 
 selected grid system. These fields are output only, but the coordinates
 may be updated on the Cursor Control panel.  On occasions when it is 
 impossible to translate the cursor position into the requested coordinates 
 the cursor position will be blank.

 Below the cursor position are three fields indicating the digital image
 values of the pixel pointed to by the cursor.  Each of these values is
 separated from the image plane to which it corresponds, by a colon.  The image
 planes selected for the Red, Green, and Blue colour guns are the ones 
 displayed.

@index{Control Panel!Image Control}

 Beneath the Cursor area is the Image control area. The
 overall display mode of ImageWorks is set using the pull down menu on
 the ``Imagery'' title bar. The `Off' button disables the display of imagery.
 The `RGB' button enables the three plane RGB display mode. The `BW'
 button enables the black and white display mode. Black and white display
 mode is the same as
 RGB mode, except that all three colour guns are locked on the same image
 plane. The `PC' button enables the Pseudocolour display mode in which
 one image plane is run through a Pseudocolour Table (PCT) to produce
 a colour image.  This colour image may appear black and white if a 
 grey scale is used in the Pseudocolour table.

 Below the Image title bar is the image plane to colour gun mapping
 table. Each image plane (to a maximum of 8) has a numbered column in
 the table with three rows, one for each colour gun. In each row,
 exactly one image plane will be selected indicating the source of
 data for the colour gun. The selected image plane is highlighted in
 the colour of the corresponding colour gun.  To view more image planes 
 beyond the first eight, use the Image Info panel, or the DCP PACE program.

 For example, the following would indicate that ImageWorks is using
 image plane one for red, image plane two for green, and image plane
 three for blue; image plane four is currently not displayed.

@verbatim
  Image plane:  1  2  3  4
  Red     	X  o  o  o
  Green         o  X  o  o
  Blue          o  o  X  o
@end

@index{Control Panel!Graphics}

 The Graphics area is used to enable and disable the display of graphic
 planes easily. The ``All On'' and ``All Off'' buttons on the
 title bar are used to enable or disable all the graphic planes at
 once. The buttons under the title bar are used to enable or disable
 one graphic plane at a time. The graphic planes are enabled when
 they appear depressed.  If there are no graphic planes available this
 area will be missing from the Control Panel.

@index{Control Panel!Vectors}

 The Vectors area is used to enable and disable the display of vector layers
 easily. The ``All On'' and ``All Off'' buttons on the
 title bar are used to enable or disable all the vector layers at
 once. The buttons under the title bar are used to enable or disable
 one vector layer at a time. The vector layers are enabled when
 they appear depressed.  No more than eight vector layers can be controlled
 from the Control Panel, and blank buttons indicate that no corresponding 
 vector layers yet exist.

@index{Control Panel!Enhancements}
 The Enhancements area is used to apply quick enhancements to the
 currently visible image planes. This is done by creating Lookup
 Tables (LUTs) to improve the contrast of the imagery. The `None'
 button sets the LUT for each of the image planes to a linear ramp.
 This results in no changes to the imagery data values.

 The Infreq, Linear, Equal, and Root buttons apply an infrequency, linear,
 equalization, or square root curve to the LUT, based on end points
 between which the curve is applied. The end-points are computed by
 examining the histogram of the sub-window of image data showing in the
 main image window, ignoring values of 0 and 255, and applying a 2%
 tail trim.  The infrequency enhancement does not apply a 2% tail trim.

 To better visualize the LUT that these enhancements are creating,
 pop up the LUT Editing panel (from the Edit pulldown menu) before 
 applying the different quick enhancements on the control panel.  
 This panel is discussed in more detail in the LUT Editing subtopic.

@index{Control Panel!Zoom}

 The last area of the Control Panel is the Zoom area. On the title
 bar is a Zoom Level Control. The pull down menu allows you to select
 the magnification value.  The `off' selection indicates ``overview'' 
 mode which means that an overview of all the data in memory is being 
 shown. This is the same as magnification level 1, if the size of the 
 data in memory is the same as the size of the window in which it is 
 being viewed.  

 Beneath the zoom title bar is a graphic representation of the current
 view window. The outer box, a slight indentation, represents the
 area of all the data in memory. The black box inside indicates the
 window of data currently being viewed in the main image window. When
 the view is zoomed in, the inner box will only contain a small
 part of all the data. This inner box can also be grabbed and
 dragged with the mouse cursor to change the view window. 

 See Also: {..|Cursor}Cursor Control, {..|}Image Info, DCP

1	PCT Editing
@keyword{PCT Editing}
@index{PCT Editing}

 The PCT Editing panel contains functions for creating and/or
 modifying the in-memory Pseudocolour Table. The PCT Editing panel
 can be launched by selecting "PCT" from the "Edit" menu on
 the main ImageWorks window.

 The Close button on the PCT Editing panel closes the PCT Editing.
 The Cancel button closes the PCT Editing panel, and restores the PCT
 that was in effect when the PCT Editing panel was first opened. 

2	Predefined Pseudocolour Tables
@index{PCT Editing!Predefined PCT}

 The Predefined Pseudocolour Table buttons allow the user to quickly
 replace the existing PCT with a standard PCT provided by the
 systems.

 Smooth 

  - A colour ramp running from dark blue to green to yellow to red 
    to magenta. 

 Stepped 

  - A series of short colour ramps. 

 Grey Ramp 

  - A simple grey ramp with 0 mapped to black, and 255 mapped to
    white. 

 Random 

  - A more or less random set of colours. 

 One step Undo is available after the selection of a predefined
 Pseudocolour table, via the "Undo" button. 

2	Current Pseudocolour Table
@index{PCT Editing!Display PCT}

 The Current Pseudocolour Table area of the PCT Editing panel
 provides a graphical and textual display of the current PCT. These
 displays are used both for information, and to select a new colour 
 table entry to edit.

 The colour bar on the left is a graphical representation of the PCT,
 with the top representing an input value of zero, and the bottom an
 input value of 255.

 The scrollable table on the right is a textual representation of the
 current PCT. The table consists of four columns, and 256 entries.
 The first column is the input grey level. The second, third, and
 fourth columns are the red, green, and blue output values for the
 given input value. Either the scroll bar or the arrow buttons can
 be used to scroll through the PCT. The textual PCT representation is
 not directly editable.

 It is possible to click in either the scrollable PCT window, or the
 graphical PCT window in order to select a "Grey Level" to modify in
 the Colour Selection area of the PCT Panel. The selected entry
 becomes the new Grey Level value to edit; changes to the previous 
 PCT entry are lost unless they were already applied.  It should also
 be possible to select multiple PCT entries to operate on by dragging
 over a series of list entries.

2	Colour Selection
@index{PCT Editing!Colour Editing}

 The colour selection portion of the PCT Editing panel is used to
 modify the output colour of the currently selected PCT entry ("Grey
 Level").

 It consists of a horizontal colour sampling bar across the top, a
 current colour chip on the right, a slider and text field for the
 red, green, and blue components, a current grey level text field, and
 the Apply and Undo buttons.

 The horizontal colour sampling bar is used to conveniently select a
 new colour value. Clicking within this bar will modify the current
 red, green, and blue components within the Colour Selection area to
 match the point clicked on. As usual, the colour change is not made
 to the current PCT until the Apply button is pressed.

 The colour slider bars are used to modify the red, green, and blue
 colour components of the currently mixed colour. The current component
 values are shown in the text fields to the right of the slider bars. 
 These fields are also editable.

 The colour chip on the right is present to show the presently mixed
 colour. It is for information purposes only, and clicking on it does
 nothing.

 When the "Hold Colour" button is depressed, selecting a new grey 
 value will not cause the currently mixed colour to be changed.

 The "Grey Level" text field shows the entry in the PCT for which
 colour selection is being performed. This field is editable; however,
 each time the current Grey Level is changed, the colour selection area
 is reloaded with the colour of the newly selected "Grey Level", unless
 the "Hold Colour" button is depressed.

 The Apply button is used to place the currently mixed colour in the
 Colour Selection area back into the PCT. The "Current PCT" is not
 changed until the Apply button is pressed, applying the new colour 
 to the Current PCT, and updating the main image window to reflect 
 the new PCT.

 The Undo button is used to undo the last change to the "Current
 PCT". It will undo the last "Apply" operation, or the last
 Predefined PCT operation. Also note that the Cancel button will
 cancel all changes to the PCT since the PCT Editing panel was popped
 up. 


1	PCT Range Editing 
@keyword{PCT Range Editing}
@index{PCT Range Editing}

 The PCT Range Editing Panel contains functions for creating
 a customized pseudocolour table(PCT). The PCT Range editing
 panel is different from the regular PCT Editor because this
 panel allows the user to create a PCT by applying specific
 ranges of colours within the pseudocolour table.

 In the PCT Range editor panel, the user can identify two
 endpoints within the image histogram to which a set of
 colours can be applied. The colours can then be directly
 mapped, stretched or compressed to fit within a specified
 range of grey levels.


 General steps:

 A colour range is set from the colour selection area.
 The two markers off the colour bar allow the user to
 specify exactly what are the starting and ending colours.

 The next step is to move the left and right marker of the
 graph(histogram) to identify where the colours that were
 picked should be applied.

 The lower section of the panel displays the created PCT
 for previewing the selections. This section allows the user
 to map/stretch or compress the colours within the chosen
 range of grey level values.

 The slider bar allows the user to shift the colours
 either to the left or to the right. The left and right
 push buttons can be used to shift the colours by one
 increment.

 See Also: {..|..|}PCT Editing

2	Colour Selection
@index{PCT Range Editing!Colour Selection}

 The colour selection section of the panel allows the user to pick
 different sets of colours to use in creating the PCT. Currently
 there are two modes of selection: Standard and Custom.

 The colour bar displays the colours that the user picks.
 The left and right marker text fields below the colour bar
 displays the grey level values represented by the markers on
 the colour bar. They can also be used to move these markers to
 a specific value. These values can also be modified by dragging
 the markers with the mouse. In the standard mode, the markers
 are filled with the colours they are pointing to.   In custom
 mode the markers are filled with the choices made for the first 
 and last colours in the interpolation.


2	Standard Colour Selection
@index{PCT Range Editing!Standard Colour Selection}

 The standard colour selection displays a list of predefined
 PCTs that may be used.  By selecting the Standard option,
 the user can get access to the following PCT: Smooth, Stepped,
 Grey Ramp, and Random.

 The colour bar will be updated to display the colours that
 correspond to the predefined PCT selected by the user.

 The "Use Original PCT" push button will change the colour bar 
 to reflect the PCT loaded in ImageWorks by the user, if applicable.
 If you have loaded a PCT and want to use it, you need to press
 this button to load in the PCT to the colour bar.

 See Also: {..|..|}PCT Editing

2	Custom Colour Selection
@index{PCT Range Editing!Custom Colour Selection}

 The custom selection displays two colour push buttons: one 
 for the first colour and the other the last colour. Pressing
 the colour push button will bring up a colour mixing panel.
 
 By using the colour mixing panel, the user can specify the
 first colour and the last colour for a customized colour bar.

 After the selection of the two endpoint colours, pressing
 the "Interpolate" push button will do a linear interpolation
 of colours from the first colour to the last colour.
 The result of the interpolation is displayed in the colour
 bar. 

 The two markers on the colour bar may be moved left or right,
 and then pressing the "Interpolate" push button again will 
 change the contents of the colour bar such that the colours
 within the colour bar are linearly interpolated between these 
 end points.
 
2	Graph Display
@index{PCT Range Editing!Graph Display}

 The graph area displays the image information(histogram) of
 the Image Plane loaded to the screen when the panel is opened.

 There are two markers that allow the user to specify the
 range of grey levels in which to apply the selected colours.
 For convenience, two input textfields are also available to
 specify exactly where to place the markers.

2	Setup and Preview PCT
@index{PCT Range Editing!Setup and Preview PCT}
 
 This section is used to map, stretch, or compress a range of
 colours. The system will automatically tell the user if the
 colours are being mapped, stretched or compressed.

 There is an option menu which allows the user to control 
 values that are outside the specified range of grey levels.
 If the option menu is set to black, then all values outside
 the specified range are set to black. Similarly if the option
 menu is set to White, then the outside ranges are set to white.
 The Ignore option will not alter existing values that are
 outside the range of the PCT.

 The "Compress", "Map" or "Stretch" push button is used to
 actually display the selected colour scale in the image window.
 Until this button is pressed, you will not actually see the 
 effects of changing the colour bar or histogram.

1	LUT Editing
@keyword{LUT Editing Imagery Histogram}
@index{LUT Editing}

 The LUT Editing panel contains functions for modifying the in-memory 
 Lookup Tables and image planes according to a specified LUT.  The 
 LUT Editing panel can be launched by selecting "LUT" from 
 the "Edit" menu on the main ImageWorks window.

 The launched LUT Editing panel will contain small "postage stamp" sized
 LUT graphs. These graphs are output only and can not be edited directly.
 The number of graphs available will vary depending on the screen and
 font size of the system. This panel is meant to provide a quick overview 
 of the LUTs currently being applied to the image planes. 

 Each graph has two elements: an option menu and a drawn area showing
 the LUT. The option menu is used to tie the graph to a particular channel.
 By selecting "Channel X" (where X is a channel number), the graph will 
 show the LUT currently being applied to that channel. If the graph should
 be tied to a particular colour gun, choose "Red", "Green", or "Blue". The
 graph will then show the LUT for the image plane currently tied to that
 colour gun. Changing the gun mappings will cause these graphs to update
 appropriately.

 The LUT Graphs contain three different pieces of information. The
 black line is a representation of the current LUT. The grey
 histogram in the background is a histogram of the image data without
 the LUT applied and the coloured histogram in the foreground is the
 image data with the LUT applied. If the graph is tied to a colour
 gun, the foreground histogram is drawn in this colour. A graph that
 is tied to a specific channel has its foreground histogram drawn
 in dark grey.

 To actually edit an LUT, click any of the mouse buttons in the drawn LUT
 area. This will cause an LUT Editor to be launched that will allow
 the editing of that LUT. There can be more than one LUT Editor on screen
 simultaneously. Each graph can launch a different LUT Editor. 

 The editor size can be chosen with the radio buttons at the bottom of the
 LUT Editing panel. A large editor is useful for having finer control
 when editing the LUT. A small editor might be required if the size
 of the screen cannot accommodate the larger editor size. If there is 
 already an LUT editor on screen and another is requested of a different
 size, the old one is popped down and a new one reflecting the new size
 is displayed. 


2	LUT Editor

 The LUT Editor is an interactive panel that allows the direct editing
 of an image plane's lookup table.

 It is composed of several areas. There is a section for controlling
 which histograms are shown in the drawing area as well as how the histogram
 is computed. The main editing area contains a large graphical representation
 of the LUT for interactive editing with the mouse. To the right of the main 
 editing area is a another LUT graph showing a backup LUT copy. Below this is 
 an area for applying a mathematical function to the LUT. Finally, there are
 textfields that can be used to enter LUT values directly. The panel
 features a button at the bottom of the panel which will apply the lookup
 table to the image plane, changing the image data permanently.


3	Histogram Area
@index{LUT Editing!Histograms}
 
 There are two option menus in this area. The first one titled "Showing"
 is used to select which histograms are drawn in the main editing area.
 The second titled "Computed From" is used to select a mask which will
 be used to define an area of the image plane from which the histogram
 is computed.

 There are two histograms of interest: the original image data histogram 
 with no LUT applied and the new histogram with the LUT applied. Using
 the "Showing" option menu, it is possible to choose which of these histograms
 is drawn in the main editing area. This option does not apply to the
 LUT Editing panel with the "postage stamp" LUTs.

 Using the "Compute From" option menu, the user may select a mask from
 under which to compute the raw or (pre-LUT) histogram. Possible selections 
 include "All Data" for a histogram of the entire image plane, "Viewed Data" 
 for a histogram of the area currently showing in the main image window, or a 
 specific graphic plane for a histogram of the imagery underneath that graphic 
 plane.  The histograms shown in the LUT graphs are intended as an aid in
 setting function end points, and visualizing data distribution. 

3	Editing Graph
@index{LUT Editing!Graph Editing}

 The graph contains three different pieces of information. The
 black line is a representation of the current LUT. The grey
 histogram in the background is a histogram of the image data without
 the LUT applied and the coloured histogram in the foreground is the
 image data with the LUT applied. If the graph is tied to a colour
 gun, the foreground histogram is drawn in this colour. A graph that
 is tied to a specific channel has its foreground histogram drawn
 in dark grey.

 The black line represents the values in the lookup table, with the left side
 of the graph representing an input value of 0, and the right side of
 the graph an input value of 255. The height of the white line above
 the bottom of the graph corresponds to the output value. At the
 bottom the output value is 0, while at the top the output value is
 255.

3	Interactive Editing
@index{LUT Editing!Interactive Editing}

 There are three methods of interactively editing the LUTs (black lines) 
 directly in the LUT graph displays.

 The first is to click and drag the left mouse button in the graph area 
 to trace out a section of the LUT. When the left button is released the
 modified LUT will be applied to the imagery in the main image
 window. This technique is called direct tracing. While the mouse is moved 
 through the graph, the current position of the cursor is shown in the 
 title bar for the lookup table.

 The second method, piecewise interpolation, is performed by pressing
 the middle button at one point, and dragging out a straight line to
 a second point.

 The third technique allows the user to drag the entire LUT to the
 left or the right. This is done by pressing the right mouse button
 in the graph area, and dragging the whole graph left or right
 before releasing the mouse button. This can also be accomplished
 in single step increments using the "left arrow" and "right arrow" 
 buttons while the editing area has input focus. 

 On motif systems, the drawing area can usually be given input 
 focus by clicking the mouse in it. Alternately, the tab key can be 
 used to traverse the tab groups until the drawing area is selected. 
 Unfortunately, the drawing area will not be highlighted in any special 
 way when it is selected so the user may have to experiment with the arrow 
 keys until it is clear that the drawing area has input focus.

 Currently there is no provision for moving the whole LUT up or
 down. 

3	Secondary LUT
@index{LUT Editing!Secondary LUT}

 To the right of the main editing area is another graph showing a backup
 copy of the LUT. When the LUT Editor panel is launched, a backup copy of 
 the LUT is saved. The "Copy" button will copy the current LUT being edited 
 over the saved LUT. The "Toggle" button will switch between the currently
 editing LUT and the saved one. These two buttons create a sort of "undo" 
 function as well as allowing easy comparison of two sets of LUTs via 
 the toggle. 

3	Applying Functions
@index{LUT Editing!Applying Functions}

 The "Apply" button is used to apply a mathematical function as part
 of the LUT.  The function is applied within bounds defined
 by the markers along the bottom and sides of the main editing graph.

 The markers along the left side of the graph determine the minimum and 
 maximum output grey level values, while the markers along the bottom of 
 the graph determine the range of input data values within which the 
 function is applied. The markers can be moved by clicking on them
 and dragging them. The values can also be entered directly with
 textfields. 

 If the function name ends with "w/Tail", this means for regions
 outside of the minimum and maximum grey level values (i.e. horizontal
 markers), the tails will be set to the end point values. If the
 function names ends with "Piece", this means that only the 
 LUT values between the minimum and maximum grey level values will
 be affected. All other parts of the LUT will remain unchanged.

3	Direct Entry
@index{LUT Editing!Direct Editing}

 The two textfields labelled "X:" and "LUT(X):" can be used to enter
 lookup table values directly for a particular input/output pair.
 These fields are also updated while the mouse is in the main editing graph.

3	Permanent Apply LUT
@keyword{LUT Editing!LUT Encoding}

 The panel contains a "Permanent Apply LUT->Image" button. This button 
 allows the user to create a new image from the specified LUT. That is, 
 the result of the image data with the applied LUT is written to the image 
 plane. Once the "Permanent Apply LUT->Image" button is pressed, the 
 original data of the image plane is lost.

1	Graphic Info
@keyword{Graphics Info Enable Colour Georeferencing}
@index{Graphics!Info}{Graphics!Enable}{Graphics!Colour}
@index{Graphics!Georeferencing}

 The Graphic Plane Info panel contains functions for viewing and 
 modifying descriptor, visibility, and colour information, as well
 as viewing the data source information. The Graphic Plane Info panel 
 can be launched by selecting the "Graphic Info" option from the 
 "View" pulldown menu in ImageWorks.

 The first section of the panel is the "Graphic Planes" list. This is
 the list of graphic planes in memory with their descriptors. One plane
 at a time may be selected from this list, to view and modify details
 in the "Selected Object" area of the panel.

 The graphic plane number or "Id" of the selected graphic plane is
 shown just below the "Selected Object" title bar. Below this are the
 "Visibility" and "Colour" selectors. The Visibility radio buttons are
 used to enable and disable the graphic plane. The "Colour" option
 menu is used to select a colour from a short list of named colours.
 To set graphic plane colours that are not in the list it is
 currently necessary to use the DCP PACE task.

 Following these selectors is an editable graphic plane descriptor. This
 descriptor is normally loaded from the source file, and may be saved
 to the destination file if the graphic plane is saved.

 Following this descriptor are the source file name, bitmap segment, and 
 subwindow if the contents of the graphic plane were loaded directly from a
 file. This information will be blank if the graphic plane was loaded
 using IVB, or created with graphic editing.

 The Georeferencing section displays georeferencing information of a
 selected graphic plane. This section is known as a GeoEdit control.  There 
 is an option menu that can be used to display different coordinate systems. 
 The georeferencing information of each graphic plane can be edited. 

 See Also: GeoEdit

1	Graphic Editing
@keyword{Graphics Editing}
@index{Graphic Editing}

 The Graphic Editing panel contains functions for modifying graphic 
 planes. Tracing, creating shapes, flood filling areas and annotation 
 are available. It is also possible to set line styles, font styles, 
 and font sizes.

 The Graphic Editing panel can be invoked by selecting the "Graphic"
 option from the "Edit" pulldown menu in ImageWorks.

 The top area of the Graphic Editing panel contains a list of graphic
 planes available to draw in.  One of these is selected at all 
 times, and only the selected plane(s) will be affected by drawing actions.
 Selecting a graphic plane will enable it (make it visible) if it is 
 not already visible.

 The Operation area of the Graphic Editing panel contains a button
 for each major operation that can be done. At any one time only one
 of these buttons may be depressed, indicating the current operation
 mode. Descriptions of each of the operation modes follows in the
 subtopics Shapes, Lines, Cut, Copy, Paste, Flood Fill, and Annotation.

 The Style Modifiers area of the Graphic Editing panel contains
 additional modifiers for the graphic operation.

 The first option indicates whether the graphic operations should 
 result in the clearing or setting of areas of the graphic plane. 
 Clearing can be thought of as erasing.  When clear is off, you will
 be drawing into the graphic plane; when it is on, you will be erasing
 data in the graphic plane.  Remember that operations performed in a 
 graphic plane do not affect any image planes.  The Default is "off".
 If clear is off, the graphic plane's bits will be set to 1 by graphic 
 operations; if clear is on, the graphic plane's bits will be set to 0.

 The next option is the line width. All shapes and lines drawn are
 affected by the line width set here. This is even true of solid
 shapes.

 The last options are those dealing with the annotation font style
 and size. These are discussed in the Annotation subtopic. 

2	Shapes
@keyword{Circle}{Box}
@index{Graphic Editing!Shapes}

 The Circle, Solid Circle, Box, and Solid Box operations are
 considered shape operations, and they all operate similarly.

 When one of the shape operations is active, it is possible to drag
 out a copy of the shape, seeing the outline as the drag takes place.
 When the drag is released, the shape is burned into the selected
 graphic plane.  The Escape key may be used to cancel an action 
 during a drag.

 Specifically, one depresses the left mouse button in the Main Image
 Window, drags the mouse while holding down the button, and releases
 when the shape has been dragged out to the desired size.
 

2	Lines
@keyword{Trace}{Line}{Polyline}{Polygon}
@index{Graphic Editing!Lines}

 The Trace, Line, PolyLine, Polygon, and Trace&Close operations are
 all considered to be line operations, and they operate similarly.

 Each of the line operations creates one or more line segments which
 are affected by the line width option under Style Modifiers. In each
 case the line operations are controlled by depressing the left mouse
 button, dragging and releasing.  The Escape key may be used to cancel 
 an action during a drag.

 The Line operation creates a new disconnected line segment for each
 Drag sequence. The PolyLine operation creates a new line segment
 connected to the last for each Drag sequence. The Polygon operation
 acts the same as the PolyLine operation, but closes the polyline to 
 form a polygon when you terminate polygon mode.

 Trace mode creates a series of short line segments as the cursor is
 dragged around with the left mouse button depressed. Trace & Close
 mode is similar to Trace mode, except that it closes the traced
 polygon when the left mouse button is released. 

2	Cut, Copy, and Paste
@keyword{Cut}{Copy}{Paste}
@index{Graphic Editing!Cut, Copy, and Paste}

 The Cut, Copy, and Paste functions allow the user to cut or copy 
 rectangles of a graphic plane to a hidden clipboard.  Later this
 stored rectangle may be pasted into another location in the same
 or a different graphic plane.  

 The Cut and Copy functions work identically with the exception that
 Cutting a block of graphics will blank out the selected rectangle,
 while Copying does not affect the selected area.  After Cut or Copy 
 mode has been selected on the Graphic Editing Panel, a rectangle is 
 dragged out with the left mouse button depressed and the cut/copy takes 
 place when the mouse button is released.  The Escape key may be used 
 to cancel an action during a drag.

 The Paste function writes the contents of the graphic clipboard to the
 currently specified graphic plane.  Note, however, that the pasted
 graphic is added without obliterating the existing graphics.  The 
 saved graphic is not destroyed any may be pasted multiple times.  
 After selecting Paste on the Graphic Editing Panel, the paste box may 
 be dragged around in the image window while the left mouse button is 
 depressed.  When the mouse button is released the saved graphic data 
 is added to the target region.  

 Note that the contents of the graphic clipboard are persistent when 
 the selected graphic plane is changed, so a region can be Cut or 
 Copied from one graphic plane and Pasted into another.

 The Clear mode buttons have no effect on the Cut, Copy, and Paste functions.

2	Flood Fill
@keyword{Flood Fill}
@index{Graphic Editing!Flood Fill}

 The Flood Fill operation allows for the filling of outlined areas
 in a graphic plane.  The fill operation is triggered by a left or
 right mouse click in the main image window of ImageWorks.  The fill 
 operation is affected by the Clear mode buttons.

 The fill operation is bounded by any "eight connected" line. That is, the 
 fill operation will not expand diagonally (therefore the fill will not pass 
 through diagonal holes).

 The Trace & Close, and Polygon operations are specially designed to
 create areas guaranteed to contain fill operations. 

 The flood fill mode will be terminated after a left mouse click, but
 will persist after a right click.

2	Annotate
@keyword{Annotation Graphics Annotate Text Fonts}
@index{Graphic Editing!Annotation}

 The Annotate operation is used to place text of a selected font, 
 style, and size at a desired location in a graphic plane.  Annotation 
 is affected by the Clear mode Style Modifier.  If the Clear mode is on, 
 the text will be burned out of the graphic plane.

 The fonts offered are loaded from Metafont `gf' files located in 
 /pci/etc, or (on X/Motif systems) from the X Server.  It is theoretically
 possible for the user to add Metafont `gf' files to the /pci/etc/fonts.lst
 file if they obtain additional gf fonts from other sources.

 On X/Motif systems it is possible to select one additional font by its name 
 in a user's X initialization file (i.e. .Xdefaults). The resource to be 
 set is `annotationFont'.  If the following line is placed in the 
 X initialization (i.e. .Xdefaults) file, the named system font 
 (in this case *screen-bold*-14-*) should appear on the list of fonts 
 available within the Graphic Editing panel of ImageWorks: 

  *annotationFont: *screen-bold*-14-*

 When the Annotate operation is active, and keyboard focus is in the
 main image window of ImageWorks, all keystrokes will be added to a
 string placed at the current cursor position. Either the backspace,
 or the delete key should delete the last character from the string.

 Dragging the image cursor with the left mouse button should result 
 in the string being dragged as well.  Dragging with the right 
 mouse button will rotate and scale the text, pivoting around a
 point half way along the text string.  

 The string is actually burned into, or out of, the graphic plane
 when the <Enter> key is hit, or annotation mode is exited.  Hitting
 enter will also result in the image cursor moving down by the height
 of a line of text.  This is to allow for the convenient entering of
 multiple lines of text.

1	Image Info
@keyword{Imagery Info Data Type Colour Gun Mapping Georeferencing}
@keyword{Imagery!Info}{Imagery!Data Type}{Imagery!Colour Gun Mapping}
@keyword{Imagery!Georeferencing}

 The Image Plane Info panel contains functions for viewing
 descriptor and data source information, as well as modifying the
 image plane descriptor, data type, and main image window gun mapping. 
 The Image Plane Info panel can be launched by selecting the "Image Info" 
 option from the "View" pulldown menu in ImageWorks.

 The first section of the panel is the "Image Planes" list. This is
 the list of image planes in memory with their descriptors. One plane at
 a time may be selected from this list, to view and modify details in
 the "Selected Object" area of the panel.

 The image plane number or "Id" of the selected image plane is shown
 just below the "Selected Object Info" title bar.  Following this is an
 editable image plane descriptor. This descriptor is normally loaded
 from the source file, and may be saved to the destination file if
 the image plane is saved.

 Also in this area is a toggle switch to change the current image plane
 between storing data in 8 bit unsigned, 16 bit signed, and 32 bit floating 
 point form.  

 Beside the toggle switch are three push buttons representing whether
 the current image plane is currently mapped to the red, green, or blue
 colour guns in the Main Image Window.  It is possible to press these
 buttons to change the video gun mapping.  This is the primary method of
 viewing image planes beyond the up to sixteen image planes which appear
 on the Control Panel.

 Below the description string are fields for viewing or entering the
 minimum and maximum values used to scale 16 bit and 32 bit image planes
 to 8 bit values when displaying, or converting to 8 bit.  These text fields
 are only enabled for 16 bit and 32 bit data.  Normally a reasonable minimum
 and maximum are computed for scaling each time the general enhancements
 are computed.  However, these values can be overridden to control the
 way scaling takes place.

 Following this is the source file name, channel number, and subwindow
 if the contents of the image plane were loaded directly from a
 file. This information will be blank if the image plane was loaded
 using IVI, or created by image editing.

 The Georeferencing section displays georeferencing information of a
 selected image plane. This section is known as a GeoEdit control.  There 
 is an option menu that can be used to display different coordinate systems. 
 The georeferencing information of each image plane can be edited. 

 See Also: GeoEdit

1	Image Editing
@keyword{Imagery Editing}
@index{Image Editing}

 The Image Editing panel contains functions for modifying the
 visible image planes. Therefore, you should use the Control Panel to
 specify which image planes you wish to affect.  

 Tracing, creating shapes, and annotation are available. It is also 
 possible to set line styles, font styles, and font size.

 The Image Editing panel can be launched by selecting the "Image"
 option from the "Edit" pulldown menu in ImageWorks.

 The Operation area of the Image Editing panel contains a button for
 each major operation that can be done. At any one time only one of
 these buttons may be depressed, indicating the current operation
 mode. Descriptions of each of the operation modes follows in the
 subtopics Shapes, Lines, Cut, Copy, Paste, and Annotation.

 The Style Modifiers area of the Image Editing panel contains
 additional modifiers for the image operation.

 The first option is the colour to be written by an image drawing
 operation. The default is white, or a value of 255 in each of the
 affected planes.  Any other value may be mixed using the colour
 mixing controls.

 The next option is the line width. All shapes and lines drawn are
 affected by the line width set here. This is even true of solid
 shapes.

 The last options are those dealing with the annotation font style
 and size. These are discussed in the Annotation subtopic. 

2	Shapes
@keyword{Box}{Circle}
@index{Image Editing!Shapes}

 The Circle, Solid Circle, Box and Solid Box operations are
 considered shape operations, and they all operate similarly.

 When one of the shape operations is active, it is possible to drag
 out a copy of the shape, seeing the outline as the drag takes place.
 When the drag is released, the shape is burned into the selected
 image planes.  The Escape key may be used to cancel an action during 
 a drag.

 Specifically, one depresses the left mouse button in the Main Image
 Window, drags the mouse while holding down the button, and releases
 when the shape has been dragged out to the desired size. 

2	Lines
@keyword{Trace}{Line}{Polyline}{Polygon}
@index{Image Editing!Lines}

 The Trace, Line, PolyLine, Polygon, and Trace&Close operations are
 all considered to be line operations, and they operate similarly.

 Each of the line operations creates one or more line segments which
 are affected by the line width option under Style Modifiers. In each
 case the line operations are controlled by depressing the left mouse
 button, dragging and releasing.  The Escape key may be used to cancel 
 an action during a drag.

 The Line operation creates a new disconnected line segment for each
 Drag sequence.  The PolyLine operation creates a new line segment
 connected to the last for each Drag sequence. The Polygon operation
 acts the same as the PolyLine operation, but closes the polyline to 
 form a polygon when polygon mode is terminated.

 Trace mode creates a series of short line segments as the cursor is
 dragged around with the left mouse button depressed. Trace & Close
 mode is similar to Trace mode, except that it closes the traced
 polygon when the left mouse button is released. 

2	Cut, Copy and Paste
@keyword{Cut}{Copy}{Paste}
@index{Image Editing!Cut, Copy, and Paste}

 The Cut, Copy and Paste functions allow the user to cut or copy 
 rectangles of the viewed image planes to a hidden clipboard.  Later this
 stored rectangle may be pasted into another location in the same
 or different image planes.

 The Cut and Copy functions work identically with the exception that
 Cutting a block of imagery will blank out (set to zero) the selected 
 rectangle,  while Copying does not affect the selected area.  After 
 selecting Cut or Copy mode on the Image Editing Panel a rectangle is 
 dragged out with the left mouse button depressed and the cut/copy takes 
 place when the mouse button is released. The Escape key may be used 
 to cancel an action during a drag.

 The Paste function overwrites a region of imagery with the contents 
 of the image clipboard.  The saved imagery is not destroyed
 and may be pasted multiple times.  After Paste on the Image Editing 
 Panel has been selected, the paste box may be dragged around in the
 image window while the left mouse button is depressed.  When the
 mouse button is released the saved imagery data is added to the 
 target region.  

 Note that the contents of the imagery clipboard are persistent when the
 viewed image plane(s) are changed, so a region can be Cut or Copied from
 one image plane and Pasted into another.  The Cut and Copy functions will
 grab one or three image planes worth of unenhanced image data
 when the Cut or Copy takes place.  The enhancement and/or PCT of the
 image window are not associated with the data in the clipboard.

 The Clear mode buttons have no effect on the Cut, Copy, and Paste functions.

2	Annotate
@keyword{Annotation Imagery Annotate Text Fonts}
@index{Image Editing!Annotation}

 The Annotate operation is used to place text of a selected font
 style and size at a desired location in the selected image planes.

 The fonts offered are loaded from Metafont `gf' files located in 
 /pci/etc, or (on X/Motif systems) from the X Server.  It is theoretically
 possible for the user to add Metafont `gf' files to the /pci/etc/fonts.lst
 file if they obtain additional gf fonts from other sources.

 On X/Motif systems it is possible to select one additional font by its name 
 in a user's X initialization file (i.e. .Xdefaults). The resource to be 
 set is `annotationFont'.  If the following line is placed in the 
 X initialization (i.e. .Xdefaults) file, the named system font 
 (in this case *screen-bold*-14-*) should appear on the list of fonts 
 available within the Graphic Editing panel of ImageWorks: 

  *annotationFont: *screen-bold*-14-*

 When the Annotate operation is active, and keyboard focus is in the
 main image window of ImageWorks, all keystrokes will be added to a
 string placed at the current cursor position. Either the backspace
 or the delete key should delete the last character from the string.

 Dragging the image cursor with the left mouse button should result 
 in the string being dragged as well.  Dragging with the right 
 mouse button will rotate and scale the text, pivoting around a
 point half way along the text string.  

 The string is actually burned into the image plane(s) when the
 <Enter> key is hit, or annotation mode is exited. Hitting enter will
 also result in the image cursor moving down by the height of a line
 of text. This is to allow for the convenient entering of multiple
 lines of text.

1	DEM Editing
@keyword{DEM Editing Imagery Elevation}
@index{DEM Editing}{Imagery!Editing}{Elevation!Editing}

 The DEM (Digital Elevation Model) Editing panel contains functions for 
 modifying DEM data.  The editing functions are especially useful in cleaning
 up elevation models which have been automatically extracted from satellite or
 airphoto stereo pairs (for example, from the EASI/PACE programs SDEM and 
 ADEM).  Usually DEM data is 16-bit signed integer data which has been read 
 into a 32-bit real channel in ImageWorks.

 A set of graphical editing tools is provided, enabling the user to perform
 the following functions:

 - creating editing masks
 - interpolating elevations to cover areas with no elevation information
 - filtering out 'noisy' elevation points
 - smoothing out irregularities to create a more pleasing elevation model
 - 'bulldozing' areas/lines of data to a particular elevation
 - setting areas (such as lakes) to constant values

 The DEM Editing panel can be invoked by selecting the "DEM..." option from
 the "Edit" pulldown menu in ImageWorks.

 The DEM Editing panel has five sections each of which is described below.

2	Information
@index{DEM Editing!Information}

 The section contains general information that controls the editing and
 display process.

 The "Elevation Channel" selector allows the selection of the channel on
 which to operate.  All operations will be applied to the channel shown. 
 To select a different channel, click on the current channel, then select
 the new channel from the ones presented.  The default channel is the one 
 that is being shown or the previous channel edited.

 The "RE-Enhance" button allows one to re-enhance the current LUT 
 while viewing 
 the DEM.  This is best used in conjunction with zooming in, which enables 
 the user to distinguish elevations easily.  This button is especially useful
 if the data being edited is in a 32-bit real channel.

 The "Failed" and "Background" labels identify input fields that allow the
 user to specify the failed and background values associated with the DEM.
 Areas where elevation should exist, but for some reason is missing, 
 are indicated by using the 'Failed' value.  Areas outside the DEM area where 
 no elevation data is meant to exist are indicated by the 'Background' value.

 Note:  many of the functions in the DEM editing panel will not be 
 accessible unless a failed and background value are entered.

 The "Elevation at cursor" field prints out the elevation at the current
 cursor position.  This is supplied for user convenience.  To see a window
 of values, the "Numeric Window ..." option from the "Edit" pulldown menu
 should be used.
 
2	Mask Operations
@index{DEM Editing!Mask Operations}

 This section contains various editing tools which allow the user to create 
 an area of interest mask which can be used to control various fill, filtering,
 and interpolation functions.  

 This mask is independent of any other graphics planes within ImageWorks and 
 may only be edited within the DEM Editing panel.

 The "Show Mask" toggle button will either enable or disable the display of 
 the graphic mask.  While the graphic mask is not visible, the Mask Editing 
 operation buttons such as Trace, Polygon, and Fill will be insensitive.  

 Note: only the visibility of the graphic mask is controlled by the Show Mask 
 toggle; any operations which use the graphic mask will still work correctly 
 even though the mask itself is not visible.  

 To select a new mask colour, click on the current colour, then select the 
 new colour from the menu presented. 

 The "Clear Mask" button will clear the entire graphic mask.

 The "Trace", "Trace&Close", "PolyLine", and "Polygon" buttons allow an
 area to be outlined, later to be filled.  These operations are activated by
 selecting the button and then using the left mouse button to move the
 cursor over the DEM, outlining an area of interest.  While these operations
 are active the button will appear depressed.

 The "PolyLine" operation creates a new line segment connected to the last, 
 for each Drag sequence. The "Polygon" operation acts the same as the 
 "PolyLine" operation, but closes the polyline to form a polygon when you 
 terminate polygon mode.  

 "Trace" mode creates a series of short line segments as the cursor is dragged
 around with the left mouse button depressed. "Trace&Close" mode is similar 
 to Trace mode, except that it closes the traced polygon when the left mouse 
 button is released.

 The "Fill@Cursor" button is used to flood fill an outlined area on the
 mask.  Select this function then move the cursor to the area and click the
 left mouse button to initiate the fill.  This function is deactivated
 after each left mouse button click; if the right mouse button is used the
 function remains active and another area can be filled.  

 Note:  ensure the areas to be filled are CLOSED polygons before filling
 them; otherwise, the filling will leak out and fill the entire image. 
 The "Trace&Close", and "Polygon" operations are specifically designed to
 create areas guaranteed to contain fill operations.
 
 The "Fill Failed@Cursor" button is used to flood fill an area of failed
 values.  Activate this function, then move the cursor to a part of the DEM
 with failed values.  Click the left mouse button to initiate the fill.
 This function is deactivated after each left mouse button click; if the 
 right mouse button is used the function remains active and another area 
 can be filled.

 The "Fill all Failed" button is used to flood fill ALL of the areas with
 failed values in the entire DEM.
 
2	Area Fills Under Mask
@index{DEM Editing!Area Fills Under Mask}

 The buttons in this section initiate fill operations under the mask.

 "Fill Using Value" sets all pixels (DEM values) under the mask to the
 value specified by the user in the "Value" text field.  

 For example, using the Mask Operations the user traces and fills a mask over
 a lake.  The elevation of the lake is read off a map and entered into the
 "Value" text field.  The "Fill Using Value" button is then used to set
 all the DEM values for the lake to the known lake elevation.

 "Fill Using Average" is similar to the "Fill Using Value" operation 
 except that all the pixels (DEM values) under the mask are set to the 
 average value of the elevations under the mask.  The current average value 
 is shown to the right of this button.

 For example, the user knows that a particular residential area is basically
 flat; however, the DEM has many bumps due to buildings etc...  The user
 masks the residential area, then uses the average elevation for the area
 as the new elevation.  This removes the bumps.

 "Fill Each Polygon with Polygon Average" is similar to the "Fill Using
 Average" function; however, each individual polygon in the mask is identified
 and its average is calculated independently and used to fill the polygon.
 If there is only one polygon in the mask, this is equivalent to the
 "Fill Using Average" function.
 
2	Bulldoze a Line
@index{DEM Editing!Line Bulldozing}

 This operation creates a series of short line segments as the cursor is
 dragged around with the left mouse button depressed.  The imagery under the
 work mask will be changed to the value specified in the "Value" field.

 The "Line Width" buttons allow the user to select the width of the line
 (in pixels).  The width only applies to the "Bulldoze" function, not the
 operations within the "Mask" section.

 The user may enter a value in the "Value" text field to be used in the 
 "Bulldoze Using Value" operations.  Any 32-bit floating point value may
 be entered.

2	Filtering and Interpolation
@index{DEM Editing!Filtering and Interpolation}

 This section contains three functions to clean up a DEM.  All three 
 functions may be applied to the entire DEM ("Entire DEM" button), or just
 the DEM under a mask ("Under Mask" button).

 All  functions require the user to define a "Failed" value.  In
 addition, if the current graphic mask is clear (empty), the "Under Mask" 
 buttons will not work.

 The "Remove Noise" function is used to discard any artifacts which may be 
 in the DEM.  This function is made up of two separate filters.  The first
 filter calculates the average and variance of the eight elevation values 
 directly surrounding each pixel (excluding failed and background pixels).
 If the center pixel is more than two standard deviations away from the 
 average, it is replaced with the failed value.  This filter tends to remove 
 small areas of "noisy" pixels. The second filter counts up the number of 
 failed values directly surrounding each pixel.  If there are five or more 
 failed pixels then the center pixel is set to a failed value.  This tends 
 to 'grow' failed areas on the rational that the pixels adjacent to failed 
 areas tend to have a high probability of being noise (errors).
 
 Note:  these two filters were chosen on the basis of experience and 
 experimentation.  There is no strict  mathematical or algorithmic rational
 for their selection.  It is possible that they will remove some good values
 as well as bad values.

 The "Interpolate" function replaces failed values with elevation values,
 interpolated from the good elevation values from the edges of the failed 
 area.  The interpolation algorithm used was selected for its speed and
 simplicity rather than the quality of its results.  It should be adequate
 for small areas (areas of 200 or less pixels) but should not be used 
 for large failed areas.  The algorithm linearly interpolates elevations 
 between two good values using rows and columns, and then generates a single 
 value for a pixel based on the row and column values, weighted by their 
 distance from the failed area edges.

 The "Smooth" function uses a 3 by 3 Gaussian smoothing filter.   Pixels 
 having Failed or Background values will not be altered and will not be used
 in smoothing calculations.  Smoothing can be applied multiple times, having
 a cumulative effect.

 The "Remove Noise", "Interpolate", and "Smooth" filters were designed to
 be used iteratively.  For example:  the user selects the "Remove Noise"
 function twice, then the "Interpolate" function once, and the "Smooth"
 function three times.

2	DEM Editing Hints
@index{DEM Editing!Hints}

 Every DEM is special and requires some thought and creativity in performing
 editing; there are few fixed rules.  The DEM editing panel and other
 ImageWorks functions can be used together to get the desired results.

 The following example shows how an editing function could be performed on
 the DEM extracted from a SPOT satellite stereo pair using the 
 EASI/PACE SDEM program in the Satellite Ortho and DEM Package.

 The user opens an ImageWorks session with one 8-bit channel and one 32-bit
 real channel, and loads the satellite image into channel 1 and the DEM
 into channel 2 (the 32-bit real channel).  The PCT editing panel is 
 opened to select the "Stepped" pseudocolour table since this better shows
 elevation data.

 The DEM editing panel is opened and the user selects channel 2 as the
 DEM to edit.  Note:  the DEM editing panel fills in the Failed and 
 Background values automatically from the channel descriptor that SDEM made.
 In this case the failed value is -10 and the background -20.

 The user notes that there are a number of urban areas which were extracted
 poorly; not only are there failed values, but there are a lot of bad/noisy 
 values.  
 The user masks these areas and sets the entire area to the failed value
 using the "Fill using Value" function, then interpolates these areas using
 the Interpolate "Under Mask" option.  Then the user clears the mask.

 The user also notes a large area which failed to interpolate due to cloud
 coverage in a mountainous area.  Since the area is so large and the relief 
 so complex, interpolating this area would be impossible.  So the user decides 
 it should just be ignored.  The user masks out this area and sets it to
 the Background value using the "Fill using Value" function.  

 The user notes that the numerous lakes in the area are not flat, and in some
 cases are full of bad values and failures (typically since lakes themselves
 have no features for the automatic DEM extraction to match on).  For now
 the user ignores the lake areas since this will be fixed at a later stage.

 At this point the user selects the "Remove Noise" function for the entire
 DEM and uses it twice, followed by the "Interpolate" for the the "Entire DEM"
 (which interpolates all the failed values so none are left) and the 
 "Smoothing" function twice.  This creates a good DEM except for lake areas.

 Examining the corresponding SPOT image (which was originally loaded into 
 channel 1) the user notes that lakes in a SPOT image have very low grey 
 levels, typically 10 or less.  Using the "Modelling..." tool the user 
 enters the following equation:

               if (%1 <= 10) %2 = -10

 In other words, if a pixel in channel 1 has a grey level of 10 or less, make
 the corresponding pixel in channel 2 (the DEM) -10, or the failed value.

 All the lakes have now been set to failed values in the DEM, removing the
 original DEM values and interpolated values.  The user now locates a large
 lake and creates a mask for the lake using the "Fill Failed@Cursor" button.
 Looking up the elevation for the lake, the user enters this value for the 
 "Fill Using
 Value" function, which sets the entire lake to a nice flat surface at the
 correct elevation.  The mask is then cleared using the "Clear Mask" function
 and the next large lake selected.

 Finally the user notes the dozens (hundreds) of little lakes left over, still
 identified by failed values.  Lacking the time to locate and fill each little
 lake, the user opts for the following method:  the "Fill all Failed" button
 is used to create a mask covering all the remaining lakes; the Interpolate
 "Using Mask" option is then used interpolate values for the failed values in
 the lakes by using the shore of the lake; then the "Fill Each Polygon with 
 Polygon Average" button is used.  This last step identifies each lake as a 
 polygon and uses the average elevation for the lake as the elevation for each
 pixel in the lake (this makes it flat and approximately at the correct 
 elevation).

1	Vector Info
@keyword{Vectors Info Georeferencing Enable Colour}
@index{Vectors!Info}{Vectors!Georeferencing}{Vectors!Enable}
@index{Vectors!Colour}

 The Vector Info panel provides an interface for viewing and 
 modifying a vector layer's descriptor and visibility, as well as
 for viewing the data source information. The Vector Info panel
 can be launched by selecting the "Vector Info" option from the 
 "View" pulldown menu in ImageWorks.

 The first section of the panel is the "Vector Layers" list. This
 list shows the currently loaded layers (in memory) with their
 corresponding descriptors.  One layer at a time may be selected
 from this list to view and modify its details.

 Below the list of layers are the "Visibility" toggle buttons
 which enable and disable the graphic plane.  Under the "Visibility"
 buttons are the "WYSIWYG" ("What You See Is What You Get") toggle
 buttons which control how the vectors are displayed.  If "Yes" is
 selected, then the representation style tables are applied to the
 vectors.  If "No" is selected, the vectors are displayed as simple
 lines.

 Following this is an editable vector layer descriptor. This
 descriptor is normally loaded from the source file, and may be saved
 to the destination file by saving the vector layer.

 Under the editable descriptor is the total number of shapes in the
 selected vector layer.

 The next section of the panel is the "Source Information" which
 shows the source file name and the vector segment number.  This
 information will be blank if the graphic plane was created with the
 vector editing panel.

 The last section is the "Georeferencing Information" which displays
 georeferencing information for the selected vector layer in a control
 known as a GeoEdit.  The option menu can be used to select different
 coordinate systems and the georeferencing information can be edited.
 Changes to the georeferencing information can be saved by saving the
 vector layer.

 See Also: GeoEdit

1	Vector Editing
@keyword{vectors shapes vertex vertices create delete editor editing}
@keyword{measurement distance length area}
@index{Vector Editing} {Vector!Editor} {Editing!Vectors}

 Interactive vector editing can be done through the Vector Editor
 panel.  This panel contains functions for modifying vector layer
 contents, deleting a layer, and creating a new layer.  The
 Vector Editor can be invoked by selecting the "Vector" option from
 the "Edit" pulldown menu in ImageWorks.

 A new vector layer is created whenever a vector segment is loaded
 from a file or when the "New Layer" button is selected in the
 "Operation" section of the Vector Editor.

 A list of the currently loaded vector layers appears at the top of
 the Vector Editor, with the currently selected layer shown
 highlighted.  Editing operations
 can take place on only one layer at a time.  If a layer is not
 visible in the graphic plane (image window) it is automatically made
 visible upon selection.

 The "Operation" section of the Vector Editor contains all of
 the vector editing operations which can be performed on the layer.
 An operation button is disabled if the operation is not valid or
 cannot be performed for the current layer or shape.  If an operation
 is taking place, that operation's button is pressed in.  Selecting
 the depressed button will end or cancel the operation.

 A vector layer contains shapes which are also referred to as vectors.
 Each shape in the layer has a unique shape id number and can have zero
 or more vertices.  If a shape has no vertices, it is not visible in
 the graphic plane.  A shape with only one vertex is a point and is
 represented in the graphic plane by small crosshairs
 which intersect at the location of the point.
 A shape with more than one vertex is represented by a polyline.

 The "Current Shape" section of the Vector Editor shows
 information about the currently selected shape.  The information in
 this section of the panel is filled in only if there is a single
 current shape.
 
 If there is a single current shape, the "Shape ID" text field displays
 its id number.  For the current shape, there may also be a currently
 selected vertex which is shown in the "Vertex ID" text field.  The
 total number of vertices in the current shape is displayed beside the
 current vertex id.

 The "Position" section of the Vector Editor shows the current
 vertex's x, y, and z coordinates in the layer's georeferenced units.
 The vertex position can be modified by making changes in the X, Y,
 and Z text fields.  If the shape has no vertices, then these text
 fields are blank.

 Next to the ``Position'' section are the area and length of the shape,
 also provided in the layer's georeferenced units.  If the shape is not closed,
 the area is blank.  A shape is considered closed if its first vertex
 and last vertex have the same position coordinates.  The area may not
 be accurate for a complex closed shape such as one with crossing edges.
 If the current shape has no vertices, then the length is also blank.

 Below the length is the attribute field section of the panel.  A
 vector layer may have any number of attribute fields associated with
 it.  The shapes in the layer inherit these attributes and may have
 their own values for each attribute field.  An attribute field can
 store information of the following data types: integers, floats, doubles,
 strings, and integer lists.

 The option menu contains a list of all attribute fields in the layer.
 From this option menu, one attribute field may be selected for display.
 The text field below it shows the value of the field for the current
 shape.  This value can be modified in the text field.  If there is more
 than one shape selected in the layer, this text field can be modified
 and the changes will apply to all of the selected shapes.  A confirmation
 is always requested before any changes are actually made.

 The "Attributes..." button at the bottom of the panel launches the
 Attribute Editor.  The "Style..." button launches the Vector Style
 Editor.  The "Query..." button launches the Attribute Query panel.

 See Also: Vector Info	

2	Selecting Shapes and Vertices
@keyword{vectors shapes vertex vertices selecting selection}
@index{Vector Editing!Selecting Shapes and Vertices}
@index{Selection!of shapes and vertices for editing}
@index{Vector!Selection for editing}

 When the Vector Editor is active and none of the operation
 buttons are depressed, the main image window is in selection mode.
 The current shapes are highlighted in the image window.  The current
 vertex is indicated with a small box drawn around the vertex.
 
 There can be more than one current shape at one time.  If there is
 more than one current shape, there cannot be a current vertex.  A
 vertex can only become current when there is only one current shape,
 and there can only be one current vertex at a time.

 Shapes can be selected in several ways: by pressing the up or down
 arrow buttons of the "Shape ID" text field, by entering a shape id
 in the "Shape ID" text field, by using the "Select" operation, or by
 making selections in the image window using the mouse.

 The first two methods of selecting a shape are quite simple and need
 no explanation.  For an explanation on how to use the "Select"
 operation, see the "Vector Editor - Operations" help.

 When making shape selections within the image window, the mouse cursor
 must be in the image window.  As the mouse is moved around in the
 image window with the left mouse button depressed, the current shape
 and current vertex are updated to reflect the current selection(s).
 The shape and vertex closest to the cursor are the current shape and
 vertex selections.  The selection operation is complete when the mouse
 button is released,

 Holding down the <SHIFT> key while selecting shapes in the image
 window adds to or removes from the existing set of current shapes.
 If the shape is already highlighted, reselecting it with the mouse
 while holding down the <SHIFT> key will remove it from the set of
 current shapes.  If the shape is not highlighted, selecting it
 with the mouse while holding down the <SHIFT> key will add it to
 the set of current shapes.

 When a single shape is being selected using the mouse in the image
 window, the vertex is selected simultaneously.  The vertex closest
 to the cursor becomes the selected vertex.

 If a shape is selected using the text field methods, then the first
 vertex in the shape is automatically selected as the current vertex,
 unless the shape has no vertices.  The current vertex can be changed
 by pressing the arrow buttons on the vertex id text field or by
 entering the new current vertex in the vertex id text field.  There
 cannot be a current vertex without a current shape.

2	Vector Editing Operations
@keyword{vectors operations create delete modify modification}
@index{Vector Editing!Operations}

 Most of the vector editing operations require a pre-selected current
 shape and a current vertex, or a pre-selected set of current shapes.

 If an operation is not permitted for the current layer or the current
 shape, the button for that operation is disabled.  If the currently
 selected layer is not visible, then all of the vector editing buttons
 will be disabled, except for the "New Layer" button, because vectors
 cannot be edited unless they are visible.

 Some vector editing operations can be performed on more than one current
 shape, such as Copy, Delete Shape(s) and Move.  If the number of
 current shapes is larger than the value set by the ShapeSaveLimit
 preference (defaulted at 100), the changes made by these operations
 are not saved in the undo/redo buffer, so they cannot be undone nor
 redone.  In such cases, the undo/redo buffer is also cleared, so past
 changes also cannot be undone nor redone.  However, before any of this
 happens, the user is always prompted to continue with the operation,
 so he or she may cancel the operation and the undo/redo buffer will
 not be affected.

 In the following descriptions, "clicking" a mouse button means "depress
 and release" the mouse button.

 Break Line - This operation creates two shapes from one.  The current
 shape is modified to include only the vertices from one endpoint to the
 current vertex.  A new shape is created in the vector layer which includes
 the vertices from the current vertex to the other endpoint.

 Close Line - If the first and last vertices of a structure do not
 have the same position then a vertex is added to the shape which
 has the same position as the first vertex.

 Copy - Copies and stores the current shapes and their attribute
 data in the cut-copy-paste buffer.  The contents of this buffer are
 overwritten by this operation.

 Copy Shape - The current line is duplicated and placed in the same
 position as the copied shape.  When the left mouse button is depressed
 and dragged in the image window, the newly duplicated shape is displaced
 by the distance and in the direction that the cursor has moved, relative
 to the point where the left mouse button was first depressed.  Once the
 button is released, the duplicated shape takes that position.

 Cut - Deletes and stores the current shapes and their attribute data
 in the cut-copy-paste buffer.  The old contents of this buffer are
 overwritten by this operation.

 Delete Shape(s) - The current shape or shapes are removed from the
 vector layer.

 Delete Vertex - The current vertex is removed from the current shape.
 For shapes with just one vertex (points) the vertex is removed and
 the shape becomes empty, but is not lost from the layer.

 Delete Layer - Removes the currently selected vector layer from the
 application. A panel asking to confirm the operation is presented
 since this operation cannot be undone.  If the layer has been edited
 but not saved, the changes will be lost.  This operation does not
 delete the vector segment from the source file.

 Insert Vertex - When the left mouse button is depressed in the Main
 Image Window a vertex is inserted in the current shape between the
 current vertex and the adjacent vertex which is nearest to the image
 window cursor.  If the current vertex is an endpoint and the cursor is
 nearer to the current vertex than the next adjacent vertex, the inserted
 vertex will extend the line.

 Join Lines - The current vertex becomes the closest endpoint in the
 current shape; this is one of the vertices where the join will occur.
 The second vertex of the join is selected by depressing the left mouse
 button in the image window near the desired shape.  A line will be drawn
 connecting the current vertex in the current shape with the nearest
 endpoint in the shape nearest to the image window cursor.  Dragging the
 cursor updates the connecting line.  Releasing the mouse button merges
 the two selected shapes into one.

 Move - When the left mouse button is depressed and dragged in
 the image window, the current shapes are redrawn, displaced by the
 distance and in the direction that the cursor has moved, relative to
 the point where the left mouse button was first depressed.  This
 operation is valid for one or more current shapes.  If there is
 more than one current shape to move, a temporary bounding box is drawn
 to represent the set of shapes being moved.  While dragging with the
 left mouse button depressed, this bounding box is updated instead of
 the current shapes, but once the button is released, the shapes are
 moved.

 Move Vertex - When the left mouse button is depressed and dragged in
 the image window, the current shape is partially redrawn with the
 current vertex moved to the position of the image window cursor.
 When the button is released, the entire shape is updated.

 New Layer - Activates a panel which creates a new vector layer.
 The panel has fields for a descriptor and georeferencing information
 which the user must specify in order to create a new vector layer.
 Selecting the "Accept" button will create a new vector layer according
 to the specified options. The "Cancel" removes the New Layer panel
 and returns back to the Vector Editor without creating a new layer.

 New Line - After pressing this button, clicking the left mouse button
 in the image window adds a vertex in a new line at the location of the
 image window cursor.  Additional clicks will add more vertices to the
 new line.  To stop adding vertices to a new line, do one of the
 following: click the right mouse button, press the <RETURN> key, press
 the <ESCAPE> key, or select another operation.  Note that clicking the
 right mouse button will end the current line, but will not terminate
 the New Line operation.  The use of the right mouse button enables the
 user to digitize many lines without moving the mouse outside the work area.

 New Point - Depressing and releasing the left mouse button in the
 image window places a new point in the vector layer positioned at the
 location of the image window cursor.  Clicking on the right mouse button
 will also insert a new point at the cursor position, but the Vector Editor
 remains in New Point mode.  This allows the user to continue adding points
 to the vector layer without having to select the New Point button each time.
 If the user is in this continuous New Point mode, placing a point with the
 left mouse button will end it.  Another way of terminating the New Point mode
 is by selecting another operation or pressing New Point button again.

 Paste - Pastes the contents of the cut-copy-paste buffer into the
 current layer.  If the contents of the buffer include attribute fields
 which do not exist for the current layer, these attribute fields are
 added to the current layer. Should the destination layer already have
 fields defined then only those fields which have the same field name
 and type will be transferred.  Note that the contents of the
 cut-copy-paste buffer are not lost between layer changes.  If the vectors
 in the cut-copy-paste buffer are in a different projection from those in
 the destination layer, they will be reprojected where possible.
 
 Redo - Redoes previously undone operations.  This operation can be
 performed multiple times (depending on how many times "Undo" is
 performed).  This operation also stores changes in the undo-redo
 buffer, so when the buffer is cleared by certain operations (a
 warning is given before this happens), the changes are lost and
 cannot be redone.

 Repaint - Repaints (redraws) the entire image window.  This is used
 to refresh the image window.

 Rotate Line - When the left mouse button is depressed and dragged in
 the image window, the current shape is rotated about the current vertex
 in such a way as to follow the mouse movement.

 Select - This operation allows the selection of a set of shapes with
 a bounding box.  To make the bounding box, depress the left mouse button
 in the image window to define one corner of the box, then drag the mouse
 to make the opposite corner of the box.  Releasing the mouse button
 defines the opposite corner.  All shapes which lie inside or on the
 bounding box become the current shapes.  If the <SHIFT> key is held down
 while the bounding box is defined, all shapes selected by the box are
 added to the existing set of current shapes.

 Snap To Vertex - Repositions the current vertex to the nearest
 vertex in a shape that the current vertex does not belong to.

 Snap To Line - Repositions the current vertex to the nearest line
 that the current vertex does not belong to.  When possible, the
 nearest line is determined using the smallest perpendicular distance.
 This operation also inserts a vertex, in the nearest line, where the
 current vertex meets it.

 Stretch - When the left mouse button is depressed and dragged in the
 image window, the current shape is rotated and stretched about the
 current vertex in such a way as to follow the mouse movement.

 Undo - Undoes prior vector editing operations.  This operation can
 be performed for multiple prior operations to back up through the
 changes that were made; that is, this operation is not limited to
 only one level of undoing.  The changes that are made through vector
 editing operations are stored in an undo-redo buffer, so they can
 be retrieved by an Undo operation.  However, some operations cause
 the contents of the undo-redo buffer to be cleared (a warning is given
 before this happens), so prior changes are lost and cannot be undone.

 See Also: GeoEdit,
	   {..|..|Prefer|Shape Save}Shape Save Limit

3	Vector Editing Accelerators
@keyword{operations accelerators}
@index{Vector Editing!Operations!Accelerators}
@index{Accelerators!for vector editing operations}

 Accelerators are keystrokes which represent vector editing operations.
 They permit the selection of a vector operation without having to use
 the mouse.  Only the more frequently used vector operations have
 accelerator keys which are listed below.  Some operations have more
 than one accelerator, and some accelerators are formed with key
 combinations (in which the first key is held down while the second key
 is pressed).

     Break Line      b
     Copy            c
     Cut             x
     Delete Shape    <DEL>
     Delete Vertex   d  or  <CTRL>-<DEL>
     Insert Vertex   i
     Join Lines      j
     Move            v
     Move Vertex     m
     New Line        l
     New Point       p
     Paste           t
     Redo            r
     Rotate          o
     Select          s
     Undo            u or <CTRL>-z

2	Attribute Editing
@keyword{vectors fields attributes}
@index{Vector Editing!Attributes} {Vector!Attribute Editor}
@index{Editing!Vector attributes} {Attribute!Editor}

 The Attribute Editor can be launched from the "Attributes..." button on
 the Vector Editor or from the "Attributes..." button on the Attribute
 Query panel.  This panel permits the viewing and editing of
 attribute field information for the current layer.  The Attribute
 Editor has two main sections: "Fields" and "Values".
 
 The "Fields" section deals with the naming and formatting of a single
 attribute field, as well as the creation of new fields.  If the
 current layer has attribute fields associated with it, this section
 of the Attribute Editor will be filled in.

 The "Values" section deals with the attribute field values for the
 currently selected shape.  If there is no current shape or if there
 is more than one current shape, this section of the Attribute Editor
 is disabled.  If there are no attributes in the current layer, this
 section is blank, except for the shape id label.

 See Also: {..|}Selecting Shapes and Vertices

3	"Fields" Section of the Attribute Editor

 A list of all attribute fields for the current layer appears at the
 top of the "Fields" section.  One field at a time may be selected from
 this list for viewing or modifying the field's name and formatting
 information.  The name of the field is displayed in the editable "Name"
 text field.  Below the name is a label showing the field's data type
 which could be one of the following: integer, float, double, string,
 integer list.  The data type of the field cannot be changed, but it
 can be specified when a new field is created.

 The editable "Default" text field shows the default value for the field.
 If there are existing shapes when the default value is changed, those
 shapes' values will not change, even if they had the same value as the
 old default.  Only subsequently created shapes will be assigned the new
 default value.

 The editable "Width" text field specifies the maximum number of characters
 or digits that the attribute field can have.  If the field is of type float
 or double, the "Precision" of the value can also be specified.  If the
 attribute field is not of type float or double, then the "Precision" text
 field is disabled.

 The "Justification" radio buttons show the justification of the field
 value.  Fields of all data types except strings and integer lists
 may be left or right justified.  If the attribute field cannot be
 justified, these radio buttons are disabled.

 The "Add New Field" button launches a panel for creating and adding a new
 field to the current layer.

4	Adding Attribute Fields
@keyword{vectors fields attributes}
@index{Vector Editing!Attributes!Adding Fields}
@index{Attribute!Adding attribute fields}

 The "Add New Field" panel is launched by pressing the "Add New Field"
 button on the Attribute Editor.  This panel allows the user to select
 the data type and to set the default value of the new attribute field
 to be added to the current layer.
 
 Selecting the "Accept" button creates the new field and adds it to the
 current layer.  The new field is named "NewField" by default, but it
 can be changed through the "Fields" section of the Attribute Editor.
 If there are existing shapes in the layer when this new attribute field
 is added, those shapes automatically inherit the new field with the
 default value.  Any new shapes created in the layer will also have this
 new field with the default value.
 
 Selecting the "Cancel" button cancels the operation and closes the
 "Add New Field" panel.

 See Also: {..|..|..|}Attribute Editing

3	"Values" Section of the Attribute Editor

 The "Values" section shows the current shape id and all of the
 attribute field values for that shape.  Each attribute field value
 is displayed in an editable text field, so the values can be modified.
 
 If there are too many fields in the current layer to display at once
 in the "Values" section, two buttons, "Previous" and "Next", appear
 at the bottom of the section for scrolling up and down through the
 list of attributes.

2	Vector Style Editing
@keyword{vectors style colour color width highlight}
@index{Vector Editing!Style} {Vector!Style Editor} {Style Editor}
@index{Editing!Vector style}

 The Style Editor is launched from the "Style..." button on the Vector
 Editor. 

 At the top of the Style Editor panel is the name of the currently
 selected vector.

 The Colour field allows you to select the colour of the vectors.
 The Highlight field controls the colour of the currently selected
 vector.  Width specifies how many pixels wide the vector line should
 be (1-8).  RST Mode specifies whether or not a Representation Style
 Table will be used.  When RST Mode is `On' the Representation Style
 Table section of the panel is activated, allowing you to edit the
 fields.

 The Rep Code parameter specifies which column in the attribute
 table will be used to determine how the shape should be drawn.
 If None is selected, all shapes are drawn the same; if a specific
 column name is selected, it becomes possible to access the 
 Representation Style Table.

 The Text parameter specifies which column in the attribute table
 will be used to determine where to find text.

 The Angle parameter specifies which column in the attribute table
 will be used to determine at what angle to print text.

 The Style Editor panel will also allow you to Load an existing RST,
 and to Edit the current RST.

2	Attribute Querying
@keyword{vectors fields attributes query}
@index{Vector Editing!Attribute Querying} {Vector!Attribute Querying}
@index{Querying!Vector Attributes} {Attribute!Querying}

 The Attribute Query panel is launched from the "Query..." button on
 the Vector Editor.  This panel is used for performing queries on the
 attribute fields for a set of shapes in the current layer.

 The name and descriptor of the current layer appear at the top of the
 Attribute Query panel.  Below this are two labels and a list of shapes
 with all of their attribute field values.  The label on the left side
 shows how many shapes are showing in the list out of the total number
 of shapes in the layer.  The other label shows how many shapes are
 highlighted (that is, selected) in the list.

 The shapes showing in the list correspond to the current shapes.  If
 the list of current shapes is larger than 100, not all shapes are
 shown in the list to save time (if the list is large, updating it may
 take long).  In such cases, the last entry in the list says, "Click
 here to display the remaining shapes."  If this entry is selected,
 the entire list of current shapes is retrieved and displayed.

 To highlight shapes in the list, select them using the mouse.
 Multiple shapes can be selected by dragging through the list or by
 holding down the <CONTROL> key while selecting shapes in the list.
 If the "Click here..." line is highlighted, that means all of the
 hidden shapes are also highlighted.

 The "Show All" button makes all of the shapes in the layer become
 the current shapes so they can be seen in the list of shapes.  

 The "Remove Selections" button removes the selected entries from the
 list, causing those entries' shapes to be removed from the list of
 current shapes.

 Below the list is a text field for entering a new query expression
 or selecting a previously entered expression.  The query expression
 must follow the rules of the expression grammar.
 
 Every time a new query expression is entered in the text field, the
 new expression is stored in a buffer.  This buffer stores, at most, the
 last ten query expressions that were entered.  To scroll through the
 contents of this buffer, press the up and down arrow buttons on the side
 of the text field.  Note that this buffer stores query strings whether
 or not they follow the rules of the expression grammar.  Also, if a
 previously entered expression is modified, the modified expression is
 stored as a separate expression in the buffer.

 Pressing <RETURN> in the query expression's text field or pressing
 the "Query" button applies the query expression to the list of
 shapes.  The shapes that satisfy the query expression become the
 new current shapes, replacing the contents of the list.
 
 The "Attributes..." button at the bottom of the panel launches the
 Attribute Editor.

 See Also: {..|}Attribute Editing, {..|}Selecting Shapes and Vertices

3	Query Expression Grammar
@keyword{expression grammar querying attributes}
@index{Querying!Expression grammar}
@index{Grammar for Attribute Query Expressions}

 A query expression must follow the grammar structure of EXPR which
 is defined below.  There is no limit to the length of a query expression.

          EXPR:   PRIMARY
                  unary_op (EXPR)
                  (EXPR) binary_op (EXPR)

       PRIMARY:   field OP value

            op:   =
                  <
                  >
                  <=
                  >=
		  <>

      unary_op:   not

     binary_op:   and
                  or

 In the above grammar definition, "field" represents a field name
 and "value" represents a field value.  Query expressions are always
 case insensitive.  This applies to attribute field names as well as
 string fields.

 For example, the following query expressions are equivalent:

  CROPTYPE = WHEAT
  croptype = wheat
  CropType = Wheat
  Croptype = WHEAT
 
 The field name does not have to be specified in full.  That is,
 pattern matching is performed for the field names.  However,
 this pattern matching only works when the first letter or letters of
 the field name are given.  If a pattern is given but it does not
 uniquely identify one field name (it matches more than one field name),
 then the first field matching the pattern is used in the query.

 For example, if the current layer has one field called "CropType",
 then query expressions (1) and (2) would be valid while (3) would not be
 because of the pattern-matching rules.  Query expression (1) and (2)
 would result in the same results if applied to the same set of shapes.

  (1) CropType = wheat
  (2) Crop = wheat
  (3) Type = wheat

 If a field name contains non-alphanumeric characters, then it must
 be enclosed in double quotes.  For example:

  "Crop_Type" = wheat
  "Crop Area" > 3000

 If a value contains non-alphanumeric characters, it must also be
 enclosed in double quotes.  For example:

  LOCATION <> "ORANGE COUNTY"

3	Query Expression Examples
@keyword{expression querying attributes}
@index{Querying!Expression example}

 Assume the current layer has these attribute fields defined:

     Attribute Field Name     Data Type

     Latitude                 float
     Longitude                float
     County                   string
     Population               integer
 
 To find, in the list of highlighted shapes in the Attribute Query panel,
 the shapes that have both a latitude greater than 45.3 and a longitude
 less than or equal to 62.7, this is the query expression to use:

     (Latitude > 45.3) and (Longitude >= 62.7)

 Other examples of valid query expressions:

     ((Latitude = 37) and (Longitude >= 62.7)) or (Population <= 5000)
     (Latitude>25) or (County = "Tweed Township")

 Here are some queries which would produce the same results for the same
 set of highlighted query shapes:

     Population <= 60000
     not (Population > 60000)
     (Population>0) and (Population<60001)

1	Multi-Histogram
@keyword{Multihistogram Panel Imagery}
@index{Histogram!Multi-Histogram Panel}{Imagery!Histogram}

 The Multi-Histogram panel allows the user to visualize histograms of
 one or more image planes under a bitmap mask.  This panel can be 
 launched by selecting "Histograms" from the "View" pulldown 
 menu in ImageWorks.  

 The Multi-Histogram panel displays one or more histograms of image
 values.  The horizontal dimension represents the grey level values 
 from 0 on the left to 255 on the right.  The tick marks along the 
 bottom show the 64, 128, and 192 points on the histogram.  

 The vertical dimension is a representation of the percentage of the 
 pixels in the sample area that have the indicated grey level value.  
 Labels on the left side of the histogram show the maximum percentage
 representable on the graph.  If the top label is "5%", and a spike of
 the histogram rises to half the height of the graph, then the grey
 level at that spike represents about 2 1/2% of the sampled area of
 the image.

 The maximum percentage can be controlled by the slider bar beneath
 the "Maximum Percentage Shown" title bar.

 The buttons beneath the "Image Planes" title bar allow the selection
 of one or more image planes for which histograms will be shown.  The 
 histogram title will indicate the image plane and sampling area being 
 displayed.

 The "Graphic Mask" area of the panel allows the selection of the sampling
 area.  This can be the area under any of the graphic masks, or just the 
 area of the image that is currently showing in the main image viewing 
 window, or all the data in the image plane.

 The histograms on this panel will be updated every time the image data,
 bitmap masks, or image view windows change.  If the "Showing" mask area
 is chosen, it is possible to roam around the image planes, seeing 
 dynamically how the histograms of different image planes change from
 area to area.

2	Multi-Histogram Statistics
@keyword{Multihistogram Statistics}
@index{Histogram!Multi-Histogram Panel!Multi-Histogram Statistics Panel}{Imagery!Histogram!Statistics}

 The Multi-Histogram Statistics panel displays the mean, standard deviation,
 minimum value,maximum value, and the number of pixels for the selected Image 
 plane under the current Graphic Mask.

1	Numeric Values
@keyword{Digital Matrix Imagery}
@index{Imagery!Numeric Values}{Numeric Values}

 The Numeric Values, or Digital Image Display report is a text
 display of the digital values in one or more image planes, centered
 on the current cursor position.

 The Digital Image Display panel can be launched by selecting the
 "Numeric Values" entry on the ``View'' pulldown menu of ImageWorks.
 The panel will be created with a digital matrix for each of the
 image planes visible at the time the panel is created.

 Multiple panels may be created, by selecting ``Numeric Values'' from the
 ``View'' menu multiple times. If the image plane to colour gun mappings
 are changed between launches of the Digital Matrix report, each of
 the reports will display the digital data from a different image
 plane. 

 The grey level for the single pixel under the cursor is displayed on the
 General Control Panel.

1	Set Georeferenced Map Area
@keyword{Georeferencing}
@index{Georeferenced Map Area}

 The Set Georeferenced Map Area panel allows the user to either set 
 or edit the georeferencing information of an image.  This panel also 
 permits the user to specify the area to which an image will be loaded 
 in the ImageWorks window.

 The Set Georeferenced Map Area panel can be invoked by selecting the
 "Set Map Area" option from the "View" pulldown menu in ImageWorks.

 The top area of the panel contains georeferencing information.
 There is an option menu to select different coordinate systems, and 
 there are fields to display (or edit) the UTM Zone, the upper left 
 corner coordinates, and the lower right corner coordinates.  This is 
 known as a ``GeoEdit'' control.

 The next section of the panel contains two radio boxes for selection 
 of the "Informational Only" or "User Controlled" mode.
  
 The "Informational Only" mode displays the georeferencing values of the 
 image that is initially loaded into ImageWorks.

 The "User Controlled" mode permits the user to specify the area represented
 by the ImageWorks work area.  Note that this is the entire work area
 in memory, not necessarily just what is shown in the view window.

 When an image is loaded with the "User Controlled" mode selected, the 
 portion of the image, and the area of the display it is loaded to will
 be adjusted according to the georeferenced bounds established in this panel.

  - NOTE: For UTM coordinate systems, it is important to specify the 
    UTM ZONE if the image that will be loaded contains UTM Zone 
    information.

 The following example shows how the Set Georeferenced Map 
 Area panel can be used:

  - Start ImageWorks.

  - Load the demonstration database file called "irvine.pix".

  - Launch the "Set Georeferenced Map Area" panel.

  - In the "Informational Only" mode, the panel displays the
    georeferencing information of "irvine.pix". 
    NOTE: The image is in UTM coordinates and has a Zone number.

  - In the "User Controlled" mode, the user can choose to  
    edit the georeferencing information of the database file.

  - Toggling back and forth between the "Informational Only" and
    "User Controlled" mode will clear any edited georeferenced
    values to their corresponding default values. 

  - To set a georeferenced map area for an image that will be loaded in
    ImageWorks, make sure that the "User Controlled" mode is
    selected. If required, enter a UTM Zone value similar to 
    that of the image that will be loaded.  
    Then load the demonstration file called "eltoro.pix".
    The image from "eltoro.pix" will align within the specified 
    georeferenced values.

 NOTE: Once two or more images of different coordinate systems are
 loaded and assigned to a specified georeferenced area, switching
 to the "Informational Only" mode would not display any relevant 
 georeferencing information.

 The georeferencing information of each image can be viewed by 
 selecting "Image Info" from the "View" pulldown menu.

 See Also: {|}Image Info, GeoEdit

1	ImageWorks Linking
@keyword{Georeferencing}{Linked Windows}
@index{Georeferencing!Linked Windows}{Linked Windows}

 NOTE: Only available on Unix.

 The ``Link Windows...'' entry on the ``View'' pulldown menu in ImageWorks 
 pops up a Link Control panel that allows a user to link the cursor in one 
 ImageWorks session to that of another ImageWorks session.

 To employ this feature it is necessary to have two or more ImageWorks
 sessions running on the same machine, started by the same user as
 determined by the userid.  Then the user selects the "Link" radio button on
 the Link Control panel of each of the ImageWorks sessions to enable the
 link.  

 After this is done, moving the cursor in one of the linked ImageWorks 
 sessions should cause the cursor to track in all other linked ImageWorks 
 sessions.  The locations will track according to the georeferenced 
 location of the cursor if the georeferencing types match, otherwise they 
 will track according to the ImageWorks pixel/line coordinates.

 The link option can be tried out on the demonstration files irvine.pix,
 eltoro.pix, and map100.pix.  First launch three copies of ImageWorks, 
 from the command line, or from VDINIT.  Then load them with the 
 demonstration file irvine.pix using the "Load Imagery" panel in the
 "File" pulldown menu.  Then select the "Link" toggle from the "View"
 menu in each of the ImageWorks sessions.  Thereafter, moving the
 cursor in any one of the ImageWorks sessions should result in the
 cursor tracking to the same georeferenced location in the other two
 ImageWorks windows.

 Linked cursors can be disabled by selecting the ``Unink'' radio button
 on the Link Control panel.

1	Cursor Control
@keyword{Cursor Colour Position Enable}
@index{Cursor!Control}

 The Cursor Control panel is used to display and update the state of the
 cursor in the main ImageWorks display window.
 In particular it is possible to change the cursor colour, enable it,
 disable it, and move it to a new position using the Cursor Control panel.
 The Cursor Control panel is launched from the "Cursor" entry on
 the "Tools" menu in ImageWorks.  

@index{Cursor!Enable}
 The Cursor Mode radio buttons can be used to enable and disable the 
 cursor.  This area will correctly show whether the cursor is currently
 enabled or disabled, even if it was changed by the DCP PACE program.

@index{Cursor!Colour}

 The Cursor Colour option menu can be used to modify the cursor colour.  If
 the cursor colour is changed using the PACE program DCP, or by some other 
 means, the displayed colour on this panel may be incorrect.

@index{Cursor!Position}

 The four pairs of text fields display the cursor coordinates in different 
 coordinate systems.  It is possible to modify the coordinates displayed 
 in any of these text fields in order to move the cursor.  This means it 
 is possible to move the cursor in any of the supported coordinate schemes.

 The first coordinate system is Display coordinates.  This is measured in
 terms of the size of the image planes in memory in ImageWorks (as determined
 in VDINIT or the ImageWorks Configuration Panel) which may be larger than 
 the window in which the imagery is being displayed.  The location is 
 displayed as a pixel / line pair.

 The second coordinate system is Database coordinates.  This representation
 is based on the assumption that the currently selected file has been loaded
 based on the most recently selected input window in the Image or Graphic
 load panels.  If no input window has been selected, the entire database 
 is assumed.  The result is the pixel and line that the cursor points to 
 in the currently selected database.

 The third pair of text fields displays the cursor coordinates in geocoded
 coordinates according to the geocoding associated with the Image, Graphic,
 and Vector layers currently being displayed.  If all the data layers being
 displayed do not match, no coordinates will be displayed.  If the loaded
 data has no geocoded locations associated with it, then the geocoded location
 will be shown in pixels and lines, and will normally be the same as the
 Database coordinates.  The units displayed to the right of the text fields
 are a clue to the geocoding type.

 The last coordinate system displayed is Geographic (Lat/Long).  If sufficient
 geocoding information is available for the viewed data layers to project the
 cursor location into Geographic coordinates it will be displayed.  Typically
 UTM data with a valid zone number must be provided for this transformation
 to take place.

 See Also: {..|Control}Control Panel, DCP, 
	   {..|Prefer|Cursor Col}Color Preference

1       Filter
@keyword{Imagery Filtering}
@index{Imagery!Filtering}{Filtering}
	
 The Filter panel is used to provide different filter operations on
 an image. A filter can be used to either sharpen, smooth or detect 
 edges that are present in an image.
 
 The Filter panel can be launched by selecting "Filter" from the
 "Tools" pulldown menu on the main ImageWorks window. The Filter
 panel consists of three main areas containing the selection for the
 input and output channels, the filter size and the filter type.
 Launching the Filter panel will also display a Filter preview panel
 that provides a preview of the filtered result.

 The Filter Preview panel contains a "Close" button, an enhancement 
 option, and a "Zoom" option menu.  This panel displays the result of 
 any selected filter from the Filter panel.  The user can examine the 
 filtered image in the preview window before applying the filter   
 operation on the main ImageWorks window.

 The Input/Output Channel Selection area contains three option menus.
 The image plane that needs to be filtered is specified by selecting
 the first option menu. There is a "Showing" option for the input
 image that allows the user to apply a filtering operation on the
 currently visible image plane(s).  This option will automatically set 
 the output option to "Showing" to display the filtered result.

 The resulting filtered image is written to the output image plane
 specified by the output option menu.  Any existing image in the 
 output image plane will be overwritten by the filtering result.

 The Mask option specifies whether the filter is applied to the 
 entire image or under a specific graphic plane. Only one graphic
 plane can be specified at a time.

 The filter size area displays the dimensions of the filter.  The    
 user can either select one of the listed square filters, or enter 
 a specific filter size between the up and down arrow buttons.  The 
 filter dimensions must be expressed in odd numbers, in the range 
 1 to 33.  The dimensions specify the number of pixels by the number 
 lines. The filter size need not be square

 The third area of the Filter panel contains a list of filter
 operations that can be applied to an image.  See the Subtopics
 area for more information about each type of filter. 

 There is an "Apply" push button on the Filter panel that 
 will apply the selected filter operation on the main ImageWorks
 window.

 
2	 Average Filter
@index{Filtering!Average}
@keyword{average filter}

 The Average (mean) filter smooths image data, thus eliminating noise.
 This filter performs spatial filtering on each individual pixel in
 an image using the grey level values in a square or rectangular
 window surrounding each pixel. 

 For example:
   a1 a2 a3            
   a4 a5 a6             3x3 filter window
   a7 a8 a9 

 The average filter computes the sum of all pixels in the filter window 
 and then divides the sum by the number of pixels in the filter window:
 
 Filtered pixel = (a1 + a2 + a3 + a4 ... + a9) / 9

 NOTE: In order to filter pixels located near the edges of the image,
 edge pixel values are replicated to give sufficient data.

2	 Gaussian Filter (SIGMSQ = 4)
@index{Filtering!Gaussian}{Gaussian Filter}
@keyword{Filtering Gaussian}

 The Gaussian Filter is used as a low pass filter to blur an image.

 This filter uses the following Gaussian function to compute the filter
 weights:

  G(i,j) = exp ( -((i-u)**2 + (j-v)**2) / (2 * SIGMSQ) )

 where: (i,j) is a pixel within the filter window, 
 (u,v) is the centre of the filter window and
 SIGMSQ is set to 4.

 The filter weights W(i,j) are the normalized values of G(i,j) over
 the entire filter window. Hence the sum of all weights is 1.

 The grey level of a filtered pixel is the sum of W(i,j)*V(i,j) over
 all pixels in the filter window, where V(i,j) is the original
 value at location (i,j).

 NOTE: In order to filter pixels located near the edges of the image,
 edge pixel values are replicated to give sufficient data.

2	 Type 1/Type 2 - Laplacian Edge Detector Filter 
@index{Filtering!Laplacian}{Laplacian Filter}
@keyword{filtering laplacian}

 The Laplacian edge detector generates sharp edge definition of an 
 image. This filter can be used to highlight edges having both
 positive and negative brightness slopes.

 The two Laplacian filters have different weight arrangements 
 as shown below:

 Example of 3x3 Laplacian filters.

@verbatim 
         Type 1                  Type 2
	   
        0  1  0                 -1 -1 -1
        1 -4  1                 -1  8 -1
        0  1  0                 -1 -1 -1

        where sum of all the weights = 0 
@end

 NOTE: In order to filter pixels located near the edges of the image,
 edge pixel values are replicated to give sufficient data.


2        Sobel Edge Detector Filter
@index{Filtering!Sobel}{Sobel Edge Detection Filter}
@keyword{filtering sobel edge detection}

 This filter creates an image where edges (sharp changes in grey
 level values) are shown. Only a 3x3 filter size can be used with
 this filter.

 This filter uses two 3x3 templates to calculate the Sobel
 gradient value as shown below:

 Templates: 
@verbatim
 -1  0  1       1  2  1
 -2  0  2       0  0  0
 -1  0  1      -1 -2 -1

     X             Y

 Apply the templates to a 3x3 filter window.

         a1 a2 a3
         a4 a5 a6        3x3 filter window
         a7 a8 a9
@end

 where a1 .. a9 are grey levels of each pixel in the filter window.

 X = -1*a1 + 1*a3 - 2*a4 + 2*a6 - 1*a7 + 1*a9

 Y = 1*a1 + 2*a2 + 1*a3 - 1*a7 - 2*a8 - 1*a9

 Sobel Gradient = sqrt(X*X + Y*Y)

 NOTE: In order to filter pixels located near the edges of the image,
 edge pixel values are replicated to give sufficient data.


2	 Prewitt Edge Detector Filter
@index{Filtering!Prewitt}{Prewitt Edge Detection Filter}
@keyword{filtering prewitt edge detection}

 This filter creates an image where edges (sharp changes in grey
 level values) are shown.  Only a 3x3 filter size can be used with
 this filter.

 This filter uses two 3x3 templates to calculate the Prewitt
 gradient value as shown below:

 Templates:
@verbatim
  -1  0  1	
  -1  0  1    X
  -1  0  1

   1  1  1
   0  0  0    Y
  -1 -1 -1

 Apply the templates to a 3x3 filter window.

   a1 a2 a3
   a4 a5 a6   3x3 filter window
   a7 a8 a9      
@end

 where a1 .. a9 are grey levels of each pixel in the filter window.

 X = -1*a1 + 1*a3 - 1*a4 + 1*a6 - 1*a7 + 1*a9

 Y = 1*a1 + 1*a2 + 1*a3 - 1*a7 - 1*a8 - 1*a9

 Prewitt Gradient = sqrt(X*X + Y*Y)

 NOTE: In order to filter pixels located near the edges of the image,
 edge pixel values are replicated to give sufficient data.

2	 Edge Sharpening Filter
@index{Filtering!Edge Sharpening}{Edge Sharpening Filter}
@keyword{filtering edge sharpening}

 This filter uses a subtractive smoothing method to sharpen an
 image. First an average filter is applied to the image.  The
 averaged image retains all low spatial frequency information but   
 has its high frequency features, such as edges and lines, attenuated.
 Consequently, the averaged image is subtracted from its original
 image and the resultant difference image will have primarily the edges
 and lines remaining.  After the edges are determined in this manner, 
 the difference image is added back to the original image to give an 
 edge enhanced image.  The resultant image will have clearer high 
 frequency detail; however, there is a tendency for noise to be 
 enhanced, as might be expected.

 NOTE: In order to filter pixels located near the edges of the image, 
 edge pixel values are replicated to give sufficient data.

2	Median Filter
@index{Filtering!Median}{Median Filter}
@keyword{filtering median}

 The median filter smooths image data.  The median filter computes the
 median values within a rectangular filter window surrounding each pixel.
 This has the effect of smoothing the image and preserving edges. 

 Example:

    5 3 11 
   12 4  9     3x3 filter window
    8 6 14

 The median filter finds the median pixel value (the "middle"
 value in an ordered set of values, below and above which there
 are an equal number of values). For example, 8 is the median
 value for the above given set of grey level 
 values (3,4,5,6,(8),9,11,12,14).

 NOTE: In order to filter pixels located near the edges of the image,
 edge pixel values are replicated to give sufficient data.

2	Mode Filter
@index{Filtering!Mode}{Mode Filter}
@keyword{filtering mode}

 The mode filter is primarily used to clean up thematic maps for
 presentation purposes, in that it replaces small "island" themes
 by their larger, surrounding themes.

 The mode filter computes the mode of the grey level values (the most
 frequently occurring grey level value) within the filter window
 surrounding each pixel. 

 The minimum filter size is 1 by 3, and the maximum filter size 
 allowed is 7 by 7. The filter window does not need to be square. 

 Example:

    5 3 3 
    3 5 3     3x3 filter window
    3 4 5 

 Filtered pixel of filter window (3,3,3,3,3,4,5,5,5) is set to
 3, occurs 5 times.

 NOTE: In order to filter pixels located near the edges of the image,
 edge pixel values are replicated to give sufficient data.

 There could be a situation where we have pixel values that occur
 at the same number of times. In this case, the first max. pixel
 value is returned.

 Example:
 
    5 3 3 
    1 2 3     3x3 filter window
    5 4 5 

 Filtered pixel of filter window (5,3,3,1,2,3,5,4,5) is set to 5.
 [Pixel 3 occurs 3 times and pixel 5 occurs 3 times - the returned
  pixel value is 5]

 NOTE: The EASI/PACE FMO program also performs mode filtering. In the FMO
 program, there are additional parameters that the user can specify.
 Due to the different technique in performing mode filtering in ImageWorks
 and the FMO program, the result of the filtered image may be 
 slightly different when comparing the two results.

2	Gamma Filter
@index{Filtering!Mode}{Gamma Filter}
@keyword{filtering gamma}

 The Gamma filter performs gamma map filtering. Gamma filtering 
 is primarily used on radar data to remove high frequency noise
 (speckle) while preserving high frequency features (edges).

 The Gamma Map filter was first proposed by Kuan.  To apply it,
 the a priori knowledge of the probability density function of
 the scene is required.  The scene reflectivity was assumed to be
 Gaussian distributed.  However, this is not quite realistic since
 it implicitly assumes a negative reflectivity.  Lopes modified
 the Kuan Map filter by assuming a gamma distributed scene and
 setting up two thresholds.  

 The gamma filter size ranges from 1 to 11. Different filter sizes 
 will greatly affect the quality of processed images. If the 
 filter is too small, the noise filtering algorithm is not effective. 
 If the filter is too large, subtle details of the image will be 
 lost in the filtering process. A 7x7 filter usually gives the best results.

 The input text field for the number of look specifies the number of 
 looks of the radar image. This number used to calculate the noise variance. 
 The option menu allows the user to specify whether or not the Radar image 
 is in intensity format or amplitude format.

 GAMMA was based on the paper:

   A. Lopes, E. Nezry, R. Touzi, and H. Laur, "Structure detection
   and statistical adaptive speckle filtering in SAR images",
   International Journal of Remote Sensing, Vol. 14, No. 9,
   pp. 1735-1758, 1993.

 The GAMMA performs spatial filtering on each individual pixel in an
 image using the grey-level values in a square window
 surrounding each pixel.  The dimensions of the filter must be
 odd, and can be from 3x3 to 11x11 pixels.

 All pixels are filtered. In order to filter pixels located
 near edges of the image, edge-pixels are replicated to give
 sufficient data.

                +----------+
                | a1 a2 a3 |
                | a4 a5 a6 |     <---  Filter window 3 X 3
                | a7 a8 a9 |
                +----------+


 Algorithm :

 The resulting grey-level value R for the smoothed pixel is:

                 R = I                    for Ci less than or equal to Cu
                 R = (B*I + SQRT(D))/(2*ALFA)  for Cu < Ci < Cmax
                 R = CP                   for Ci greater than or equal to Cmax

 where:
                 NLOOK = Number of Looks
                 VAR   = Variance in filter window
                 CP    = Centre pixel grep level value
                 I     = Mean grey level in the filter window
                 Cu    = 1/SQRT(NLOOK)
                 Ci    = SQRT(VAR) / I
                 Cmax  = SQRT(2)*Cu
                 ALFA  = (1+Cu**2)/(Ci**2-Cu**2)
                 B     = ALFA-NLOOK-1
                 D     = I*I*B*B+4*ALFA*NLOOK*I*CP


 For amplitude image, each grey-level will be squared and square
 root will be applied to the final result.
 This parameter is specified via the option menu: The user can
 either specify an amplitude image or an power (intensity) image.

 The NLOOK parameter is set via the Number of Looks input text field.

 In addition, this program uses a method as described in P.994 of the
 following paper:

   A. Lopes, R. Touzi, and E. Nezry, "Adaptive Speckle Filters and
   Scene Heterogeneity", IEEE Transactions on Geoscience and Remote
   Sensing, Vol 28, No. 6, November 1990.

 to remove isolated pixel (pixel of very high or very low value)
 in homogeneous area.

 PCI wishes to acknowledge the assistance of Ko B. Fung and Zhenghao Shi
 at Canada Centre for Remote Sensing for providing source code and
 assistance of their programs.  Special thank to Dr. R. Touzi from
 Canada Centre for Remote Sensing for his helpful suggestions and comment

 For more information about comparison of different radar filtering
 methods, please refer to the following papers:

   Zhenghao Shi and Ko B. Fung, 1994, A Comparison of Digital
   Speckle Filters, Proceedings of IGRASS 94, August 8-12, 1994.


1	Movie
@index{Movie Loop}{Imagery!Movie}
@keyword{movie imagery loop}

 The Movie panel allows the user to display and control a set of
 image planes in the main ImageWorks window.  Either images in
 black and white mode or images in RGB mode can be displayed in a
 synchronized way. If only one image plane is specified when invoking
 ImageWorks, the user will not be allowed to use the Movie panel.

 The Movie panel can be launched by selecting "Movie Loop" from the
 "Tools" pulldown menu on the main ImageWorks window.  The movie
 panel contains different options settings at the top of the panel
 and a control section at the bottom.

 The top section of the Movie panel contains a scale to set the
 movie speed that can range from 0.1 to 35 frames per second.
 The scale has an increment of 0.1 from 0.1 to 0.9 frame per second, 
 and then an increment of 1 for other values.

 The user can set the movie speed by entering a value in the input
 text field located at the right side of the speed scale or by
 dragging the scale index.

 At the top of the speed scale, there is a display that is updated
 after each frame to indicate the actual number of frame per second.
 This display is only updated when the user has selected "Run".

 The middle scale (Frame Number scale) from the Movie panel is a
 reference to the image plane that is being displayed.  The user can
 specify a starting image plane by moving the scale to an
 appropriate position.
 In RGB mode, this scale will display the image plane number
 corresponding to the leftmost image plane as shown in the
 example below:

  image plane: 1  2  3  4  5  6  7  8

     Red                x
     Green           x
     Blue                  x

                      (Leftmost image plane 3, 
                       corresponds to Frame scale 3)

     where 'x' represents a selected colour gun.

 The Direction section allows the user to specify whether or not
 the movie will run in a forward or reverse direction.
 There is also a check box labelled "Continuous Loop" in the
 Direction section.  The "Continuous Loop" check box, when toggled on
 will run the movie continuously in the direction specified, i.e.,
 if we are working with 8 image planes in black and white mode, after 
 the last image plane has been reached (image plane 8), 
 the first image plane(1) will be redisplayed.

 The control section contains the "Run", "Stop", "Step" and "Previous"
 buttons. The following describes the control buttons:

 - "Run": The "Run" push button starts the movie at the image
   plane specified by the Frame Number scale.  Depending on the option
   chosen, if the "Continuous Loop" has not been toggled on, the
   movie will run up to the last image plane (if possible).
   Successive image plane(s) will be displayed at an interval specified
   by the speed scale (if possible).

 - "Stop": The "Stop" push button halts the movie.

 - "Step": The "Step" is used to step one 'frame' at a time.
   Depending on the direction selected, either the next or previous
   image plane(s) will be displayed.

 - "Previous": The "Previous" push button is used to display the
   previous image plane(s). Again depending on the direction selected,
   the appropriate previous/next image plane(s) will be displayed.

 Depending on whether or not the "Continuous Loop" mode is toggled on,
 the control buttons will automatically be turned on/off according
 to the frame number specified by the frame scale.

 To run the movie for displaying black and white images, select the
 black and white mode from the ImageWorks control window, and on the
 Movie panel move the scale index to the desired starting position.
 Press "Run" to start the movie.

 In the RGB mode, the user must select adjacent RGB guns.  That is,
 the RGB guns must be of a different image plane number and be one image
 plane apart (except for the left and rightmost ends).
 If the user sets the RGB guns to image plane numbers that are far apart,
 the movie will set the RGB guns to a default position where image
 plane 1, 2, and 3 will be set to the Red, Green, and Blue guns respectively.


1	PCT Encoding
@index{PCT!Encoding}{Imagery!PCT Encoding}
@keyword{PCT encode encoding imagery}

 The PCT Encoding panel permits the user to `split' an image PCT into 
 3 image channels each containing the equivalent Red PCT, Green PCT 
 and Blue PCT.  The PCT encoding panel can be launched by selecting 
 "PCT to RGB" from the "Tools" pulldown menu on the main ImageWorks 
 window.

 The PCT Encoding panel contains option menus to specify an input image
 plane and three output image planes for the Red, Green, and Blue image.

 After selecting the appropriate input and output image planes,
 the user can press the "Apply" push button to perform the PCT 
 encoding.  The result of the encoding will automatically be displayed
 with the RGB guns set to the specified output image planes.


1	Flicker
@keyword{flicker imagery}
@index{Flicker}{Imagery!Flicker}

 The Flicker panel allows the user to flip between two video states.

 A video state will record the following information:

 - Image Plane to Colour gun mapping.
 - Graphic plane mask.
 - PCT.
 - Video Mode (RGB/BW/PCT).
 - Cursor Colour.

 The Flicker panel can be launched by selecting "Flicker" from the
 "Tools" pulldown menu on the main ImageWorks window.  The flicker 
 panel contains different options settings at the top of the panel
 and a control section at the bottom.

 The top section of the flicker panel contains two radio buttons
 to specify and display a video state. 
 Once the flicker panel is displayed, all valid interaction to 
 the Control panel or to the Main ImageWorks window will be recorded.

 The next section of the Flicker panel contains a scale to set the
 video flicking speed, that can range from 0.1 to 35 frames per second.
 The scale has an increment of 0.1, from 0.1 to 0.9 frames per second, 
 and then an increment of 1 for higher values.

 The user can set the speed between two video states by entering 
 a value in the input text field located at the right side of the 
 speed scale or by dragging the scale index.

 At the top of the speed scale, there is a display that is updated
 after each frame to indicate the actual number of frames per second.
 This display is only updated when the user has selected "Run".

 The control section contains the "Run", "Stop", "Step", and "Previous"
 buttons. 

 - "Run":  Starts to flip between two video states.

 - "Stop":  Halts the flipping process.

 - "Step" or "Previous":  Displays the other video state.

 Example:

 To run the video state flicker, bring up the Flicker panel.

 - Set up your display in the main ImageWorks window as you would 
   like it to be for the "State 1". 
 - Select the "State 2" radio button from the Flicker panel. 
   From the Control Panel, set up a new display in the main ImageWorks
   window. The video display information is automatically recorded
   for State 2.
 - Press "Run" to start to flip between two video states.

1	Transformation
@keyword{Rotate}{Scale}{Flip}{Transform}{Transformation}
@index{Image Transformation}{Transformation}

 The transformation panel is used to perform some simple transformations
 on the image pixels. These include flipping along a vertical axis, flipping
 along a horizontal axis, rotation about a point, rotation about the centre
 of the image, and scaling about a point.

 These transformations can only be done on one image plane at a time.
 The input and output planes are selected with option menus. It is
 possible to perform the transformation "in place" by selecting the
 input and output planes to be the same. Note that when this is done,
 the original data will be overwritten with the newly transformed image.

 The image window cursor plays an active role in determining how
 the transformation occurs. When flipping along a vertical axis, the
 flip is done along the line x = cursor x position. When flipping along
 a horizontal axis, the flip is done along the line y = cursor y position.
 Rotations and scalings are done about the point (cursor x position, 
 cursor y position). Rotations can also be performed about the centre of
 the image window.
 
 To perform a rotation about a point, select the angle by moving the slider.
 Exact rotation angles can also be entered directly into the textfield. 
 Position the cursor on the point you wish to act as the origin
 for the rotation. Pressing the "Rotate about cursor" button will perform the
 transformation.

 To perform a rotation about the centre, select the angle by moving the slider.
 Exact rotation angles can also be entered directly into the textfield. 
 Pressing the "Rotate about centre" button will perform the transformation.

 To perform a scaling, select the scaling factor by moving the slider.
 Note that this slider follows a logarithmic scale. The log scale applies
 to the slider only and is used to make it easier to select small and 
 large scaling factors. Exact scaling factors can also be entered directly 
 into the textfield. Position the cursor on the point you wish to act as 
 the origin for the scaling. Pressing the "Scale" button will perform 
 the transformation.

 To perform a flip along a vertical axis, position the cursor so that 
 its x position lies on the vertical axis. Pressing "Y Axis Flip"
 will perform the transformation.

 To perform a flip along a horizontal axis, position the cursor so that
 its y position lies on the horizontal axis. Pressing "X Axis Flip"
 will perform the transformation.

1	Perspective
@keyword{Perspective}{3D}
@index{Perspective Scene Generation}

 NOTE: Perspective Scene Generation has been removed from ImageWorks in V6.0.

 The perspective panel is used to generate three-dimensional perspective
 scenes from elevation and colour data. 

 To generate a scene, eight image planes are required: four input and
 four output. The four input planes are used to specify an elevation model 
 as well as red, green, and blue colour information for each point in that
 model. The four output planes are used to output the generated scene into
 red, green, and blue channels. The last output plane is used to store
 a distance map. A distance map is an image that contains the distance of
 the viewer from each point in the perspective scene.

 There are three sections in the Perspective Scene Generation panel. The
 "Parameters" section is used to specify the viewing geometry parameters.
 The "Channels" section is used to specify which channels will be used
 as the eight input and output channels. The "Options" section is used to 
 specify additional scene generation parameters that can be used
 to enhance the image.

 At the bottom of the panel are the action buttons. The "Generate" button
 is used to perform the perspective scene generation. The "Close" button
 pops down the panel. The "Help" button displays this help.

2 	Parameters
@index{Perspective Scene Generation!Parameters}

 The viewing parameters essentially specify where in three-dimensional
 space the viewer is positioned and where he is looking. The field of view
 specifies how wide the viewing cone is. In this diagram, point a is the view
 from position, point b is the view at position and the field of view is
 the angle between the two diagonal lines.

@verbatim
    ------b------  
    \     ^     /  
     \    |    /    
      \   |   /    
       \  |  /     
        \ | /      
         \|/       
	  a
@end

 The view from position is the position in the image that the viewer
 is viewing from. It is specified in pixel/line coordinates. It can only be 
 set by using the "Set From Cursor" button. Pressing this button
 sets the view from position to the current position of the cursor in the 
 image window.

 The view from elevation specifies how high the viewer is looking from.
 The units used should be the same as those used for the channel specified 
 by the "Elevation" option menu. There are two ways to set this value. 
 It can be entered directly into the textfield, or the 
 "Set From Elevation" button will set the elevation. The data value used is
 the value at the current cursor position in the plane specified by the 
 "Elevation" option. 

 The view at position and view at elevation controls are similar to the
 view from controls except they are used to specify where the viewer is
 looking.

 HINT: The rendering algorithm renders the scene with the view at position
 at the bottom of the generated image. To get best results, set the
 view from elevation higher than the view at elevation so that the
 viewer is looking down.

 The "Field of View" textfield is used to specify how wide the view
 cone should be. This value is given in degrees. 

 The following diagrams explain how varying the look at point along a 
 line of sight can be used to change the rendering plane (RP).

@verbatim
   |------b------| RP                 
    \     ^     /                     
     \    |    /                       
      \   |   /          |---b---| RP
       \  |  /            \  ^  /     
        \ | /              \ | /      
         \|/                \|/       
	  a	             a
@end

 The rendering plane represents a "window" which is used to generated
 the three dimensional scene. Everything in the image database that is in 
 front of the rendering plane (i.e. on the same side as the view from 
 position a) will not be included in the generated scene. The rendered scene 
 will contain only the image database behind the rendering plane as 
 projected on the rendering plane. Also keep in mind that the larger the
 field of view angle, the wider the rendering plane will be.

2	Channels
@index{Perspective Scene Generation!Channels}

 There are option menus to specify which channels in the image database
 correspond to the four input and four output channels. 

 The elevation and distance map channels must be 32-bit real. If these
 channels are 8-bit, a panel will pop up when generating the perspective
 scene, allowing the user to convert the planes to 32-bit real.

 The input and output colour channels must be 8-bit. 

 All of the output planes must be unique and cannot be set to any of 
 the input planes. This is required to ensure that writing the generated
 scene does not cause any existing planes to be overwritten 
 improperly.

2	Options
@index{Perspective Scene Generation!Options}

 The height magnification is used as a stretching factor to magnify the 
 elevation values. Essentially, all of the values in the elevation channel
 are multiplied by this factor when generating the perspective scene.

 Bilinear interpolation is an option used to specify how to interpret
 the data in the input colour planes. When this option is on, the colour
 at a particular point in the database is interpolated from the data in
 the surrounding pixels. This feature provides a smoothing effect. 
 When this option is off, the colour of a particular point is the colour
 of the pixel in which that point falls. In the rendered image, each
 database pixel will look very distinct.

 The background colour is used for any part of the scene that did
 not contain the terrain. The edge colour is used for parts of the
 scene that represent the sides of the terrain. Keep in mind that these
 colours are the raw data and will not look the same in the image window 
 if the output image planes have lookup tables.

2	Example
@index{Perspective Scene Generation!Example}

 As an example using Perspective Scene Generation, start up an ImageWorks
 sessions with 8 channels.  Convert Channel 4 into a 32-bit channel.  This 
 can be accomplished using the Image Info panel, which is accessible under 
 View->Image Info...  Select Open File and select irvine.pix as your file 
 (typically under /pci/demo).  Load channels 3,2,1,10 from the database into 
 channels 1,2,3,4 in ImageWorks.

 Enter the following parameters into the Perspective Scene Panel.  Note that 
 negative Cursor positions may be entered via the Cursor Control panel.

  View From (X,Y): -250,750
  View From Elev : 350
  View at   (X,Y): 91,423
  View at Elev   : 50
  Field of View  : 55
  Height Magnification: 3.3

 Click on Generate.

 View the output channels 5,6,7.

1	Print 
@keyword{PostScript}{Printing}{Screen Dump}
@index{Print}

 NOTE: This section is not applicable to the MacOS.

 The Print panel allows the user to capture the contents of the main 
 ImageWorks window. The Print panel will create a PostScript file
 which can then be sent to a PostScript printer to obtain a hardcopy
 of the main ImageWorks window.

 The Print panel can be launched by selecting "Print" from the "File" 
 pulldown menu on the main ImageWorks window.  The Print panel contains 
 an input text field to specify the name of the PostScript file that 
 will be created. 

 The number of copies can be specified in the Copies input text field.
 There is a DPI (dots per inch) text field that will allow the user to 
 specify the quality of the output.
 To obtain a certain output quality, the user must select Actual 
 Size option and specify a DPI value that can be handled by the printer 
 from which the PostScript file will be printed.

 The Colour option menu is used to allow the user to specify whether or 
 not to create a colour output PostScript file.  When Colour is set to
 color, a colour PostScript output will be created,
 otherwise, BW specifies the output will be in black and white.  
 If the contents of the main ImageWorks window is in colour and the
 color option is not selected, then a black and white output will be
 generated where the RGB values of each pixel are averaged to obtain
 a greyscale image.

 The next section contains layout options. By default, the paper
 Width and Height dimensions are set to 8.5 by 11.0 inches respectively. 
 The user can edit the paper size values or select different units 
 (inches or cm)
 specified by the "Units" option menu.
 The image will always be placed at the centre of the page and the
 paper dimensions must be wide enough for the specified image.

 The Orientation option menu allows the user to specify whether or
 not a Portrait (upright) or Landscape (sideways) output is required.

 The Scale to option menu allows the user to specify whether
 the output image is to be scaled in order to have a maximum fit in the 
 specified paper size, or the actual image size is to be used.
 If the Maximum Size option is selected, the image will be enlarged
 to fit in the specified page but will lose some image quality.
 Image scaling can also be achieved by changing the DPI value.
  
 The "Print To File" push button creates a PostScript file of the image 
 displayed in the main ImageWorks window according to the specified 
 print options. 

 NOTE: The Print panel captures the contents of the main ImageWorks window.
 It is recommended that the main ImageWorks window be brought to the 
 foreground (not overlapped by other windows); it must not go off the edge 
 of the screen. 
 The size of the image to be printed depends on the size of the ImageWorks 
 window size.(Maximum size will be the size of your computer screen)
 To capture only a portion of an image, resize the ImageWorks window 
 appropriately or load in a subwindow of the image.

1	Rasterization
@index{Vectors!Rasterization}{Rasterization}{Imagery!Burning in Vectors}
@index{Graphics!Burning in Vectors}
@keyword{Rasterization Vectors Burning Polygon Line Fill}

 The Rasterization panel allows the user to burn or encode lines
 and polygons into image or graphic raster layers.  Contour lines can be
 converted to a DEM (in combination with interpolation in the DEM Editing 
 panel); geopolitical boundaries can be converted to raster mask layers. 

 The topmost region of the Rasterization panel contains a list of potential
 source vector layers.  One of these vector layers should be selected as 
 the source by clicking on it.  The selected layer will appear highlighted.

 Below this is the destination raster layer list.  This is a list of all the
 image and graphic planes available to burn the result into.  The
 image planes are all prefixed with "I" and graphic bitplanes are prefixed
 with "B".  The selected layer will appear highlighted.

 At the bottom of the panel are the radio buttons used to select the
 rasterization algorithm.  The first algorithm, Edges Only, is used to burn
 lines into the raster layer.   When burned into an image, they are assigned
 image values based on the attribute of the vector. 

 The second algorithm is used to encode polygons into the raster layer.  In
 this case the polygon is burned into the raster layer based on the attribute
 of a seed point.  Each point structure is assumed to be an interior point
 of a polygon to be flood filled.  The polygon boundaries are the nearest
 vector lines in any direction.  The bounding line(s) need to enclose the
 seed point, but the boundary does not need to be a single vector polyline
 structure.  If more than one seed point appears in a polygon, it is random
 which value the polygon will be flooded with.

 The third algorithm, Polygons (Closed Lines), is based on a scanline 
 rasterization algorithm.  In this case a polygon is determined to be a 
 single vector structure with three or more points, where the first and
 last vertices are at the same location.  The polygon is filled with the
 attribute of the bounding line.  Point structures and lines that do not
 form closed polygons are ignored.

 The fourth algorithm, Natural Neighbor Interpol., is based on the
 algorithm developed by Professor Robin Sibson, [Sibson 1980]. It is a
 coordinate that can have more than one reference point. It is
 measured by the ratio of the area associated with one of the
 reference points. Further details can be found in "A vector identity
 for the Dirichlet tesselation: Math Proc. Cambridge Phil. Soc., 87".

 When a source vector layer, destination raster layer, and algorithm have
 been selected, the rasterization can be triggered by hitting the Rasterize
 button at the bottom of the panel.

 Vector attributes can be previewed in the Vector Editor, and values
 outside the range 0-255 will be clipped into this range if the output layer
 is an eight bit image plane.  Polygons burned into bitmap layers always
 set the bits to on, regardless of the attribute for the polygon.  The 
 operations done by this panel are similar to the functions of the PACE
 programs GRDVEC and GRDPOL.

 See Also: {|}DEM Editing, {|}Vector Editing

1	Modelling
@keyword{Imagery!Modelling}{Modelling}{EASI+}
@index{Modelling}

 The EASI Modelling command window is used to enter modelling equations to
 be applied to the ImageWorks image planes.  The modelling equation 
 formats are similar, though less powerful than those found in the
 MODEL PACE program.  This window may be launched from the "Modelling" 
 entry in the ImageWorks "Tools" pulldown menu.

 The Modelling panel allows the user to compose modelling equations, or
 modelling procedures in a simple editor window, and then run them using 
 the "Run" button.  As well, the model editor can be cleared with the 
 "Clear" button.

 The "Load" and "Save" buttons can be used to load the procedure editor
 from a text file, and to save the contents of the procedure editor to a text
 file.

 The following subtopics describe how to form simple modelling equations,
 and a little about other capabilities of the ImageWorks EASI command 
 interface.

2	Simple Image Modelling
@index{Modelling!Simple Image}

 Modelling equations in their simplest form are arithmetic combinations
 of image planes assigned to an image plane.  Image planes are indicated
 by a percent sign followed by the image plane number.  The following 
 equation assigns the average value of image planes one and two to
 image plane three.  

   %3 = (%1 + %2)/2

 The assignment is evaluated for every pixel in image plane three, using
 the corresponding pixel values from image planes one and two.  Another
 trivial example simply initializes an entire image plane to a constant
 value.

   %1 = 255

 The standard set of arithmetic operations are available in modelling
 expressions.  They are listed below with a short description.

@verbatim
   a + b		Addition
   a - b		Subtraction
   a * b    		Multiplication
   a / b    		Division
   a ^ b		Exponentiation
   ( a )		Parentheses, also square brackets [].
   - a			Unary negation	
@end

 A wide set of mathematical intrinsic functions is also available,
 including the sin(), cos(), tan(), asin(), acos(), atan(), ln(),
 log10(), exp(), exp10(), rad(), deg(), abs(), int(), random() and frac() 
 functions.

 For more detailed information, the EASI manual may be consulted.  The
 main difference between modelling in EASI and modelling in ImageWorks is
 that the ImageWorks image planes are the default "database" when
 using modelling in ImageWorks.

 See Also: {EASI|expre|mod}EASI Modelling Expressions,
           {EASI|func|calc}EASI Calculator Functions

2	Modelling Logic
@index{Modelling!Modelling Logic}

 In addition to simple assignment equations, it is also possible to
 construct simple logical operations in the Modelling command window.
 These operations take the form of "if" statements.

 For example, the following command would set the value of image plane
 two to 255 anywhere the image value of image plane one is between
 32 and 64.  Note that line breaks are significant.  Each statement must
 be on its own line.

   if ( %1 >= 32 AND %1 <= 64 ) then
     %2 = 255 
   endif

 This more complex example shows a procedure to produce an overlay in 
 graphic plane 2 (%%2) for every pixel where image planes 1, 2 and 3 all are
 equal to 255.

  if (%1 = 255) and (%2 = 255) and (%3 = 255) then
    %%2 = 1
  else
    %%2 = 0
  endif

 The possible comparison, and logical functions are:

   a > b	a greater than b
   a < b	a less than b
   a = b	a equals b
   a <> b	a not equal b	
   a <= b	a less than or equal b
   a >= b	a greater than or equal b
   a OR b	a is true or b is true
   a AND b	a is true and b is true
   !a		a is not true

 It is also possible to use brackets to ensure operations take place
 in the expected order.

2	EASI
@index{Modelling!EASI}

 The EASI command window in ImageWorks is primarily intended
 to serve as a method of performing modelling; however, all EASI 
 commands are available via the EASI command window.  

 The EASI Reference Manual may be consulted for full information on 
 the EASI command language.  There are some considerations when using
 EASI commands in ImageWorks.

 - For the purpose of modelling, the default database in ImageWorks is
   always the ImageWorks image planes. 

 - No PACE programs which access the display should be run, unless 
   a different ImageWorks or Handler is being accessed.  Otherwise
   both processes will "lock up".

 - Only command input comes from the ImageWorks command window.  All 
   other input and output will be directed to the command window from
   which ImageWorks was launched.

 Also note that it is possible to add EASI Procedures as menu items in
 ImageWorks using the ``Menu:'' entry in the ImageWorks preference file.

 See Also: EASI, {|Preferences|}Adding Menu Items

1	ERRORS

2	No Graphic Planes Available

 There are no graphic planes in the current ImageWorks configuration,
 so Graphic Editing is not possible.  The Configuration Panel or VDINIT
 must be used to enable graphic operations at startup time.

 See Also: VDINIT, {..|..|Config}Configuration Panel

1	Spectral Plot
@keyword{Spectral Plot Hyperspectral Spectroscopy}
@index{Spectral Plot}

 The Spectral Plot panel is primarily designed to graph hyperspectral image 
 data from an image file or from a spectral library. Image data can be stored
 in any PCI supported file format, and libraries are stored using the USGS
 spectral library format.  For example:

 - AVIRIS (Airborne Visible/Infrared Imaging Spectrometer) imagery is
   distributed by USGS using BIL format with a VICAR header.
 - CASI (Compact Airborne Spectrographic Imager) imagery is distributed by
   ITRES using PCIDSK database format.  ITRES encodes wavelengths and
   bandwidths in the PCIDSK channel descriptors.

 This panel allows graphing specific coordinates in a hyperspectral
 image where the channel number or wavelength is the independent variable.
 There are two parts to the spectral plot: a main panel and a graph. 
 The main spectral plotting panel allows control over graphing options,
 plotting ranges and spectra selection. The spectral graph panel shows
 the actual spectral plots.

 There are five major areas in the spectral plotting panel. The library
 area is used to select a spectral library. The "Displayed Spectra" section
 is used to choose spectra to plot, either from the library or from the
 imagery. The "Graph options" are used to control axis labelling and other
 plotting options. The "Hyperspectral Image" section is used to specify
 which image channels correspond to the full spectral image. The "Plotting 
 Ranges" area is used to determine axis scaling of the spectral graph.
 At the bottom of the panel are four action buttons, "Close", "Clear Plots",
 "Save Spectrum...", and "Help".

 Initially no library is selected, no spectra are selected, and thus the
 graph is empty.

2	Spectral Graph
@index{Spectral Plot!Spectral Graph}

 The spectral graph is a separate panel that only contains the graph.
 There are no controls on the panel and the only way to pop it down
 is to pop down the main spectral plot panel. 
 The graph is resizable, and resizing the window also
 resizes the drawn graph within it.

 As the cursor is moved inside the spectral graph, a vertical bar is
 drawn at the current graph position.  Inside the main spectral plotting
 panel, four values are printed for the current position indicated in the
 spectral graph by the vertical bar:

 - Displayed spectrum number
 - Channel (band) number
 - Wavelength (in micrometres)
 - Intensity value or digital number (DN)

2	Spectral Library
@index{Spectral Plot!Spectral Library}

 When the "Select Spectral Library..." button is pressed, a file selector
 is popped up to allow selection of a spectral library file. If the file 
 selected is not in USGS spectral library format, a warning will pop up to 
 indicate this. After a valid library is selected, it will be scanned for 
 spectral records. The 40 character titles of these records will be presented
 in the list box for selection. This list box is used in close conjunction
 with the displayed spectra section.

 See Also: {..|}Displayed Spectra, {..|}Valid Spectral Library

2	Displayed Spectra
@index{Spectral Plot!Displayed Spectra}

 The displayed spectra section is used to show which spectra have been chosen
 to be plotted. There are 16 available "slots" and each has a separate colour.
 The slot colour corresponds to the colour used to draw that spectra in
 the graph.
 
 There will always be one slot that is pushed in. This is the active slot.
 All operations on the panel that deal with specific spectra are performed
 on this currently selected slot. Only one slot can be active at once and 
 initially the first slot is selected.

 To plot a record from the spectral library, select that record from the
 spectral library list box. After doing this, the currently selected slot
 is automatically advanced.

 To plot image data, position the image window cursor on the desired pixel 
 location and press "From Image". Data for that location in the 
 selected file will be plotted. Image data cannot be selected if a file
 has not been opened. Data is read directly from the disk file,
 not from the channels that imageworks has loaded. When an image pixel is 
 the currently selected item and the cursor moves in the image window,
 the graph is updated as the position changes. Also, the data that is
 plotted is affected by the "Window Size Around Cursor" option menu in
 the "Graph Options" area. 

 Any slot can be used to plot spectral library or image data.

 Once data is loaded into a slot, it will not change. The two exceptions
 are when the slot refers to an image pixel and the window size changes
 or the image window cursor is moved. For example, if the image pixel
 refers to pixel (257, 257) and a new file is loaded in, the data will
 still refer to the old file and will not automatically load pixel (257, 257)
 from the new file. Another example is that after a spectral library record 
 is chosen, if another library is opened, the slot will still hold the
 data from the previous library.

 The slot can be cleared by pressing "Clear Item". To change the colour
 used for a particular slot, press "Edit Colour...". A standard colour
 mixer can then be used to modify the slot colour.

 See Also: {..|}Graph Options

2	Graph Options
@index{Spectral Plot!Graph Options}

 This option affects the manner in which the x axis is labelled as well 
 as the title of the graph. The "X Axis Labelling" option menu allows 
 the x axis to show either the channel number or the wavelength 
 (in micrometres). If wavelength is chosen, then:

 - wavelengths are read from the channel descriptors in the PCIDSK file, OR
 - wavelengths are read from a USGS spectral library record.

 If there are no wavelengths available, the X axis will not be annotated.
 
 When a spectral library file is opened, the first wavelength record in the
 library file is used to define the wavelengths for each channel in the
 displayed image. If there is more than one wavelength record in the library
 (this is rare), this option menu can be used to change the wavelength record.
 
 The average of the data values in a square window around the display
 cursor can be plotted. This means that for every channel, the data values
 in the window are averaged and this is the value that gets plotted. 
 The window size is selected with the "Window Size Around Cursor" option menu. 
 This option menu is only effective when the currently selected slot is
 an image pixel. It will not retroactively alter all slots that are image
 pixels to use the window size.
 
2	Hyperspectral Image
@index{Spectral Plot!Hyperspectral Image}

 The channel first and last textfields are used to specify which channels
 in the imagery correspond to the full range of the spectral library records.
 For example, an AVIRIS file may have 448 channels, with channels 1-224
 representing one scene, and channels 225-448 representing another. To
 properly choose the second scene, the first and last channels would
 be set to 225 and 448 respectively. Suppose that the spectral library
 had 204 channels. Then channel 1 of the spectral library would correspond
 to channel 225 in the image, and channel 204 of the library would
 correspond to channel 448 of the image.

 The first channel must be equal to or greater than 1. The last channel
 must be equal to or less than the number of channels in the currently
 opened file. When a new file is opened, the first and last channels
 may be readjusted accordingly.

2	Plotting Ranges
@index{Spectral Plot!Plotting Ranges}

 There are several plotting ranges to consider. The channel (wavelength)
 min and max determine which channels (wavelengths) should be
 plotted. (Either channel number or wavelength is entered, depending on
 current X-Axis Labelling). This affects the horizontal scaling of the graph.
 The library min and max determine the scaling of library spectra.
 The image min and max determine the scaling of image data. 

 Whereas the first and last channel define which channels in the imagery
 correspond to a full range in the spectral library, the channel min
 and max specify which part of the full range to graph. The channel min and 
 max are bounded by the first and last channel values in the "Hyperspectral 
 Image" area. In other words, the channel min (or the first channel to plot) 
 and channel max (or the last channel to plot) must be within the range 
 [channel first, channel last].

 Library spectra usually contain normalized values. It is real data and a 
 typical range is [0.0, 1.0]. The image data is often 16-bit signed 
 raw data. This is why two independent vertical scalings are needed. The 
 library spectra scale is drawn on the left side of the graph. The image 
 scale is drawn on the right side of the graph.

2	Actions Buttons
@index{Spectral Plot!Actions Buttons}

 The "Close" button closes the spectral plotting panel as well as the graph.
 
 The "Clear Plots" button clears all the slots in the "Displayed Spectra" 
 section but leaves other options unchanged.
 
 The "Save Spectrum..." button pops up a panel which enables the saving of
 a spectrum into a spectral library.

 The "Help" button displays help for the Spectral Plotting panel.

 See Also: {..|}Save Spectrum

2	Save Spectrum
@index{Spectral Plot!Save Spectrum}

 First, a library must be selected by using "Select Spectral Library...".
 The history and title text are used when writing the record into the
 library. Only the first 74 characters of history are used. Only the
 first 40 characters of the title are used. A new record is always 
 appended to the end of the selected library. If the library doesn't 
 exist, a new one is created. If wavelength and bandwidth values have been
 read from PCIDSK channel descriptors when plotting image spectra, these
 values are saved in the first two spectral records on the new library file.

 Pressing "Save" saves the currently
 selected spectrum into the spectral library. If the currently selected
 spectrum is empty, a warning is popped up and nothing will be saved.

 The "Close" button pops down the panel. The "Help" button displays this help.
 
2	Valid Spectral Library
@index{Spectral Plot!Valid Spectral Library}

 A USGS Spectral Library file is composed of 1536 byte records. Record 1
 starts at byte 1536, not byte 0. The first 1536 bytes of the file are 
 set to 0 and are unused. If the first 1536 bytes of a file are 0s, it is 
 considered a valid spectral library.

1	ImageWorks EASI/PACE Interaction
@index{EASI/PACE ImageWorks Interaction}

 This chapter provides information on starting ImageWorks from EASI/PACE 
 using VDINIT, and on the interaction between the 2 interfaces.

2	VDINIT Interaction
@index{VDINTI ImageWorks Interaction}

 The interaction between the ImageWorks program and the parameter file, 
 which contains ImageWorks' size, type, and system information, is fairly 
 complex, as is ImageWorks itself. To simplify this interaction, an EASI 
 procedure, called VDINIT, is available. VDINIT handles all parameter file 
 interaction and starts an ImageWorks program in background mode when a 
 new display window is started.

 The VDINIT procedure is run from within EASI:

   EASI> run vdinit 

 When run, VDINIT produces a menu in the terminal window, so it should be 
 ensured that the text window is at least 80 columns by 25 lines. VDINIT gives 
 a selection of four displays (or devices), numbered 0, 1, 2, and 3. Each 
 display 
 is considered a separate device, having a name and window size. Information, 
 such as size and number of image and graphic channels on the currently 
 selected display, is shown. 

 A display can be selected using the options 0, 1, 2, or 3. The size and number
 of channels of the selected display window can be changed using the modify 
 (M) option. The window is actually created using the start (S) option for an 
 (optional) ImageWorks window. VDINIT can be exited using the exit (X) 
 option. The rest of the PACE package will now automatically use this display 
 window. 

 ImageWorks display windows can be dragged, exited, and opened like regular 
 windows. They can be resized up to as large as the underlying data size.

 Multiple ImageWorks display windows can be created and used. To do this, 
 the user should run VDINIT, select a display (0, 1, 2, or 3) and initialize 
 it, 
 creating the first display window. The user should then select a second, 
 different display and initialize it, creating a second display window. VDINIT 
 can now be exited. PACE programs will automatically use the last selected 
 display. To change the display which is being used, the user should run 
 VDINIT, select the desired display, then exit VDINIT. Note: Do NOT attempt 
 to reinitialize this selected display since this will create a new, third 
 window, 
 and use of the original selected window will be permanently lost to PACE 
 programs. 

 Unfortunately, there are some problems to watch out for when using multiple 
 displays. Each ImageWorks display window uses up quite a bit of memory. If 
 too many are created, if they are large, or if they have many channels, the 
 workstation may not be able to allocate enough memory and the initialization 
 of the new display window will fail. Even if the creation does not fail, the 
 resulting paging of the workstation's virtual memory may mean performance 
 will be unacceptable. 

2	Parameter File Interaction
@index{Parameter File Interaction}

 This section discusses the interaction between an ImageWorks utility program 
 and the parameter file. It is included for background information. Most users 
 are insulated from knowing details at this level by using the VDINIT 
 procedure.

 Upon start-up, the ImageWorks program extracts information from the 
 parameter file which determines ImageWorks' size and labelling. This 
 information is held in the parameters named vdn: and vdn# where n is a number 
 between 0 and 3 (vd0:, vd0#,..., vd3:, vd3#). Each vdn: and vdn# pair defines 
 characteristics about the image display window n.

 vdn: is a character parameter which holds a 1 to 40 character string used to 
 label the ImageWorks window. Usually this is set as follows:

   vdn: = "VDn:"

 vdn# is a numeric parameter which holds 16 values defining the ImageWorks 
 display window characteristics, as follows:

   vdn#(1) = 19			Display type (Must be 19)
   vdn#(2) = X			Pixels per line (32 to 20480)
   vdn#(3) = Y			Lines per image (32 to 20480)
   vdn#(4) = 3			Number of image planes   (must be 1 to 16)
   vdn#(5) = 8			Number of graphic planes (must be 0 to 16)
   vdn#(6) = 0			Reserved for internal use
   vdn#(7) = 0			Reserved for internal use
   vdn#(8) = 0			Reserved for internal use
   vdn#(9) = 0/1		Suppresses popping up of configuration panel
      :
      :
   vdn#(14) = 0			Reserved for internal use 
   vdn#(15) = WX		Window size X (0 or less than vdn#(2))
   vdn#(16) = WY		Window size Y (0 or less than vdn#(3))

 The parameter vd00 is used to point to the currently selected display.

   vd00="VD1:"

 When the ImageWorks program is run, it reads in the current value of the vd00 
 parameter. Using this name, it reads in the appropriate vdn# parameter values,
 which define the image display window size, and uses the contents of the vdn: 
 parameter to label the window. The ImageWorks program then updates 
 positions 12 and 13 of vdn# with its socket number and process id (PID) 
 number. PACE application programs can now access the image display 
 window by following the vd00 link to the appropriate vdn# parameter and 
 retrieving the socket number. 

 For example, using EASI (under X-11 Motif): 

   EASI> vd2: = "Test 2" 
   EASI> vd2# = 19,512,512,3,8,0,0,0,0,0,0,0,0,0,0,0     
   EASI> vd00 = "VD2:"    
   EASI> run imageworks

 The above commands will start up a 512 pixel by 512 line ImageWorks image 
 display, labelled "Test 2". 

 On UNIX systems, the socket number and PID for ImageWorks can be printed 
 as follows: 

   EASI> print "socket=",vd2#(12),"   pid=",vd2#(13) 

 Multiple ImageWorks image display windows can be started by using the vd00 
 parameter to point to different vdn: pairs.

1	Installation
@index{Installation}

 The following subtopics cover the basic information needed to install
 ImageWorks, whether or not you have previously installed PCI software.
 This information is intended for customers installing ImageWorks as a
 standalone product; if you are installing ImageWorks as part of your
 PCI software package, you should refer to your installation guide for
 instructions.

 This installation information includes the system requirements for 
 running ImageWorks, a list of the types of files distributed, and system 
 specific directions to install and license ImageWorks on your machine.

2	System Requirements
@index{System Requirements}

 UNIX or VMS systems:
 - 8-bit or 24-bit colour capability.
 - X11 windowing system - some systems (such as Intergraph and DEC 
   systems) require the Motif GUI, and the SUN requires OpenWindows or 
   Motif.
 - at least 32 Mbytes of RAM (more are recommended)
 - at least 200+ Mbytes of free disk space on a single disk
 - for SCO UNIX a parallel port is required for the interlock
 - CDROM drive

 Mac OS Systems:
 - Apple Macintosh Workstation
 - 24-bit graphics option
 - Mac OS System 7.x or later
 - At least 16Mb RAM (32+ Mb recommended)
 - At least 15Mb free disk space in one partition
 - CD-ROM drive
 - Interlock device (supplied with PCI software)

 Windows 3.1, Windows 95 and Windows NT platforms:
 - 486DX or better compatible PC (486SX not supported)
 - CD-ROM drive (for installing PCI software)
 - At least 250Mb free disk space
 - Windows 3.1 should be running in 386 enhanced mode
 - DOS 5.0, 6.0 or 6.2 (DOS 6.2 recommended)
 - At least 12Mb memory for 3.1 or 16Mb for 95/NT (32Mb recommended)
 - Any VGA card providing 640x480x256 colour display or better
 - Any 2-button or 3-button mouse.
 - Sentinel Pro Interlock Device (supplied with PCI software)

 OS/2 platforms:
 - OS/2 version 2.x or 3.x (warp) installed 
 - 486DX2 or better PS/2 or compatible PC (486SX not supported)
 - CD-ROM drive (for software installation)
 - Minimum 16Mb of memory (32Mb recommended)
 - At least 250Mb free disk space
 - Any XGA or VGA card providing 640 x 480 x 256 colour display or better
 - Any 2-button or 3-button mouse
 - Sentinel Pro Interlock Device 
 - In most cases, it is strongly recommended that serious users
   have at least 32Mb memory, an 8/15/16/24-bit VGA card capable 
   of 800 x 600 x 256 colour display (or better), and a 600Mb 
   or 1.2Gb disk. 
 - Note: PCI software can run on a 386 PC with an 80387 co-processor, but
   its performance would be very poor. Therefore, a 486DX PC is the recommended
   minimum.
 
 NOTE: The above requirements are for installing the whole PCI software package
 on your system. For the ImageWorks standalone version, the disk space 
 required is less than the above requirements.

2	Overview of Distributed Files

 The main distribution files for running the standalone version of ImageWorks
 consists of the following:


   Directory/file(s)		Description
  +-----------------            -----------

   exe/imageworks               ImageWorks executable program
   (:user:ImageWorks		MacOS ImageWorks)
   etc/license                  license manager
   etc/*			* other files
   demo/irvine.pix              Landsat TM 30m resolution, 512 x 512
   demo/eltoro.pix              SPOT Panchromatic 10m resolution, 1024 x 1024
   demo/map100.pix              scanned map of irvine area, 512 x 512
   hlp/WORKS.HLP                generic help file
   hlp/CLWORKS.HLP              ImageWorks Multispectral help file
   hlp/IWORKS.HLP               ImageWorks help file
   hlp/GDB.HLP			GDB File format help file
   hlp/PROJ.HLP			Projection help file
 

2	Mounting the CD-ROM
@index{CD-ROM}

 The first step in the installation is to load or mount the CD-ROM 
 containing the ImageWorks software.  

 For Windows 3.1 and Mac OS systems, this operation will consist of 
 simply inserting the CD into the drive, and knowing either the drive 
 letter or name.

 For Windows 95 and NT, it is recommended that the PCI software be
 installed using a login with Administrator privileges, in order to
 permit creation of appropriate common window groups.

 UNIX Systems:
 
 On UNIX the process of mounting the CDROM is somewhat more involved, and will 
 generally require superuser privileges to mount the drive (an 
 annoying fact of life with CD-ROMs on Unix).  The actual mount command 
 varies slightly from system to system, and examples are shown below (the 
 /cdrom directory must already exist, although any empty directory 
 can be used):

	AIX:
	/etc/mount  -v  cdrfs  -o  ro  /dev/cd0  /cdrom 

 	DG/UX:
	/sbin/mount  -t  cdrom  -o noversion  /dev/pdsk/4  /cdrom 

	HP/UX
	/etc/mount  -t  cdfs  -o  ro  /dev/dsk/c201d5s0  /cdrom 

      Note: the version number (;\#) appended to the end of filenames is 
      unavoidable on HP/UX.  This becomes part of the actual filename, and
      must be specified when referencing files.

	IRIX:
	/etc/mount  -t  iso9660  /dev/scsi/sc0d7l0  /cdrom 

	OSF/1:
	/sbin/mount  -t  cdfs  -o noversion  /dev/rz4c  /cdrom 

	SCO ODT:
	mount  -r  -f  HS  /dev/cd0  /cdrom 

 	Solaris:
	/sbin/mount  -F  hsfs  -o  ro  /dev/dsk/c0t4d0s2  /cdrom 

	SunOS:
	/usr/etc/mount  -t  hsfs  -o  ro  /dev/sr0  /cdrom 

	Ultrix:
	/sbin/mount  -t  cdfs  -r  -o  noversion  /dev/rz4c  /cdrom 

 For VMS/OpenVMS systems, the process is also somewhat involved, and 
 will require that you have LOGICAL VOLUME privileges:

	OpenVMS:

	MOUNT /MEDIA=CDROM /OVERRIDE=IDENTIFICATION DKA400:

	VMS:  (requires the F11CD product from Digital)

	CD_MOUNT/MEDIA=CDROM/PROC=F11CDAC/OVERRIDE=ID DKA400: PCIV60


2	Pre-installation Setup

 There are some specific steps and procedues that need to be followed
 prior to starting ImageWorks.

3	UNIX Systems pre-installation setup
 
 If you are updating an existing system, make a backup of the existing
 pci directory tree, then delete the contents (keeping any site
 specific files such as .cshrc, .login, etc., then proceed to
  
 Create an account called pci, into which the home directory the 
 PCI software will be loaded. Next, you should set up the environment 
 variable PCIHOME to directory created above. (make sure you add this to 
 each user's .cshrc file (or equivalent), or a system wide setup file if 
 one is  used):

    setenv  PCIHOME  Account_Directory

 Where Account_Directory is the directory for the new pci account.
  
 NOTE: Using the /pci symbolic link as outlined in previous versions
 of PCI's software will also still work, although the use of the PCIHOME
 environment variable is now the recommended approach.
 
 On UNIX systems, run the tar command to extract the appropriate tar file
 off the CDROM. Use the appropriate command given below for the system
 on which you are doing the installation.

 Data General AViiON / DG/UX:
	% tar  xovf  /cdrom/PCIDGUX/PCIDG542.TAR 
 
 Digital AXP / Unix (OSF/1):
 If you are running OSF/1 V2.0, V3.0, or V3.2, enter the following
 commands instead:

	% tar  xovf  /cdrom/PCIOSF/PCIOSF.TAR 
 
 Digital DECstation / Ultrix:
	% tar  xovf  /cdrom/PCIULTRIX/PCIULTRX.TAR 
 
 Hewlett Packard HP9000 / HP/UX:
	% tar  xovf  /cdrom/PCIHPUX/PCIHPUX.TAR; 
 
      Note: the version number (;\#) appended to the end of filenames is
      unavoidable on HP/UX.  This becomes part of the actual filename, and
      must be specified when referencing files.
 
 IBM RS/6000 / AIX:
	% tar  xovf  /cdrom/PCIAIX/PCIAIX325.TAR 
 
      Note: PCI expects to offer a native release for AIX 4.1.2 in the
      near future.  Contact your PCI representative for information.
 
 SGI Iris / IRIX:
	% tar  xovf  /cdrom/PCIIRIX/PCIIRX53.TAR 
 
 SCO ODT:
	% tar  xovf  /cdrom/PCIODT/PCIODT.TAR 
 
 Sun Solaris:
	% tar  xovf  /cdrom/PCISUN/PCISOL54.TAR 
 
 Sun SunOS:
	% tar  xovf  /cdrom/PCISUN/PCISUNOS.TAR 
 

 Next, you must add the PCI exe directory to your search path, and set
 up the PCIHOME environment variable.
 
 If you are using the C-shell (csh), add the following commands to each
 user's .cshrc file:

    setenv  PCIHOME  Account_Directory
    set path=( $path $PCIHOME/exe )

    where Account_Directory is the directory for the new pci account.
 
 If you are using a shell other than the C-shell (csh), you should
 use a mechanism appropriate to your particular shell to add the PCI exe
 directory to your path.
 Alternatively, the programs can be invoked directly using their full path and
 filename.

 You should now return to root or superuser and unmoun the CD-ROM and
 remove it:

    # umount  /cdrom

 
3	Windows 3.1, Windows 95 and Windows NT pre-installation setup:

 Many of the desktop systems require that certain actions be taken before 
 installing the PCI software:

 PCI software for Windows 3.1 is stored under the PCIWIN31 directory on
 the CD-ROM; PCI software for Windows 95 and Windows NT is stored under
 the PCIWINNT directory. This CD-ROM may also contain other PCI software
 directories for different operating systems.
 
 Run the INSTALL.BAT command file in the PCIWIN31 (or PICWINNT) directory
 on the CD-ROM, as follows:

 Insert the CD-ROM in the CD-ROM drive.
 Open the File Manager icon (if not already open).
 Click the CD-ROM drive icon (D: or other) in the directory window.
 Choose Run from the File menu in the File Manager.
 Type the following command in the Command Line box:

        \PCIWIN31\INSTALL       (for Windows 3.1)
	\PCIWINNT\INSTALL	(for Windows 95 or Windows NT)

 Then choose the OK button in the Run dialog box.
 Follow the instructions given in the command window.

 The above INSTALL command can also be executed from an MS-DOS command window,
 if the CD-ROM is the active drive.
 
 By default, PCI software is installed on C: drive. If you wish to install
 PCI software on a different drive (for example, E: drive), then
 specify the drive letter (followed by a colon) in the command line, as
 follows:

        \PCIWIN31\INSTALL E:	(for Windows 3.1)
	\PCIWINNT\INSTALL E:	(for Windows 95 or Windows NT)


4	Win32s for Windows 3.1
 
 At this point, Windows 3.1 users must install the Win32s
 software before proceeding any further.  This Microsoft software
 allows you to run 32-bit windows applications under Windows 3.1, and
 is required for the PCI software to run.
 If you are already running Win32s but not the version
 supplied with the PCI software, it is important that you install the
 version provided, or the software may not function correctly.

 If you are installing on Win3.1, run the SETUP.EXE program in
 the WIN32S directory on the CD-ROM, as follows:

 - Insert the CD-ROM in the CD-ROM drive.
 - Open the File Manager icon (if not already open).
 - Click the CD-ROM drive icon (D: or other) in the directory window.  
 - Choose Run from the File menu in the File Manager.

 Type the following command in the Command Line box:

          \WIN32S\DISK1\SETUP

 then choose the OK button in the Run dialog box.

 Follow the instructions given by Microsoft Setup.

 SETUP will inform you if Win32s is already installed on your system.

4	Interlock

 You should also ensure that your Interlock is now correctly installed
 on the first parallel port of your computer. If it has not 
 been correctly installed, the system information returned by the 
 license program and your license key will not be correct.

 Note: Unlike Windows NT, there is no Sentinel driver required to access
 the interlock on Windows 95.

 Windows NT users must ensure that the Interlock is now
 correctly installed on the first parallel port of your computer, and
 then install the supplied Interlock driver:

 Note:  Substitute the appropriate drive letter for your CD-ROM
 in the following instructions.

 The Sentinel device driver supplied on the PCI CD-ROM in 
 E:\PCIWINNT\DRI must be installed before the hardware 
 interlock device can work.  Note that the actual directory name may
 vary slightly with the software version, but should be obvious for
 the operating system you are running.

 - In the Main desktop window, open the Control Panel icon.     
 - In the Control Panel window, open the Drivers icon.
 - In the Drivers window, choose the Add button.
 - In the Add window, select ``Unlisted or Updated Driver'', then
   choose the OK button.
 - In the Install Driver window, type C:\PCI\DRI in      
   the dialog box.
 -  In the Add Unlisted or Updated Driver window, select
   ``Sentinel for i386 Systems'' (this should be the only item), then 
   choose the OK button.
 - If a ``Driver Exists'' window pops up, choose the New button to install
   the new driver.
 - In the Sentinel Driver window, select the parallel port to   
   which the interlock is attached, then choose OK.
 - In the System Setting Change window, choose the Restart Now  
   button to reboot the computer.

 The Sentinel interlock device driver will be installed when
 the computer is rebooted.

4	Creating the PCI Software Group
 
 For Windows 3.1 and NT systems, PCI Software is distributed with a group
 file, 
 called PCI\ETC\PCIV60.GRP, (PCI\ETC\PCIV6095.GRP for Windows 95)
 which defines the program items (icons) for the PCI Software group.

 For the following set of instructions, if PCI software is not in 
 C:\PCI, substitute the appropriate drive and directory path. 
 
 For Windows 95:

 - Open the File Manager
 - Find the group file in the PCI\ETC directory
 - Pick up the group file and drop it on the desktop

 Normally this should complete the process.  However, if you have
 installed the files elsewhere, you will have to change the properties
 of the icons to specify the new path.  To do this, click on the icon
 with the right mouse button.  Select "shortcut" and modify "Target"
 and "Start In", replacing C:\PCI with the PCI tree location.
 It is advisable to use the full path.


 For Windows 3.1:

 To create the PCI Software group, do the following:

 - Choose the New command from the File Menu in the Program Manager.
 - Select the Program Group option from the New Program Object dialog
   box, then choose the OK button.
 - Type C:\PCI\ETC\PCIV60.GRP for the Group File in the
   Program Group Properties dialog box, then choose the OK button.
 - Do not type anything for Description in the Program Group
   Properties dialog box.

 The PCI Software group should now appear inside the Program Manager.
 It should contain an ImageWorks icon with other PCI program icons.
 
 By default, all items (icons) in the PCI Software group assume
 that PCI software is installed on the drive and root directory
 specified by the PCIHOME environment variable.  PCIHOME must be
 set in the AUTOEXEC.BAT file and the computer rebooted before applications
 in the PCI Software group can be used, and before licensing can be done.
 
 If you wish, you can change the Working Directory for icons in the
 PCI Software group to any directory, using the Properties
 command in the File Menu of the Program Manager.

 For Windows NT:
 
 For Windows NT,  a common program group for PCI software must be set up to
 allow users to run ImageWorks, and other PCI programs.  This is not
 done automatically when PCI software is installed, and must be done
 by following the instructions given below.
 
 Note:  To create a common program group, you must be logged on as a
 member of the Administrators or Power Users group.
 
 To create the PCI Software common program group, do the following:

 - Choose the New command from the File Menu in the Program Manager.
 - Select the Common Program Group option from the New Program Object dialog
   box, the choose the OK button.
 - In the Description box, type \verb+V6.0 PCI Software+, then choose the
   OK button.  An empty PCI Software group window should appear inside the
   Program Manager window.
  
 To create the ImageWorks icon, do the following:

 - Choose the New command from the File Menu in the Program Manager.
 - Select the Program Item option from the New Program Object dialog
   box, the choose the OK button.
 - In the Description box, type ImageWorks.
 - In the Command Line box, type C:\PCI\EXE\IMAGEWOR.EXE.
 - In the Working Directory box, type C:\PCI\USER or other
   directory of your choice.
 - Choose the OK button.  The ImageWorks icon
   should appear inside the PCI Software group window.
 
 Icon program items can be created for the following set of programs:
 
   Description    Program File
 
      ACE           ACE.EXE
      EASI          EASI and choose \PCI\ETC\EASI.ICO for its icon
      FLY!          FLY.EXE
      GCPWorks      GCPWORKS.EXE
      ImageMapping  IMAGEMAP.EXE
      ImageWorks    IMAGEWOR.EXE
      Xpace         XPACE.EXE 

  
3	Mac OS pre-installation setup

 For the Mac OS systems, please proceed as follows:

 - Open the "System Folder" folder off the CDROM and select the
   VT102 Tool and TTY Tool from it, then drag the two icons over
   into your main System Folder - (These two tools will be
   copied from the CDROM and placed into your Extension folder on
   your system.)

 - Copy over the files and directories listed from the 
   distributed list section over into your hard disk, 
   maintaining the same directory structure.
   (or you can copy the whole PCI folder into your hard disk)

 - Shutdown your computer and connect the supplied Interlock device
   to any ADB (Apple Desktop Bus) port on your system (usually
   off your keyboard connection). The ADBs are used to connect the
   mouse, keyboard and other input devices. The Interlock can be
   connected inline with other devices.

 The Sentinel interlock device driver will be installed when
 the computer is rebooted.

 If the Interlock and driver have not been correctly installed, the 
 system information returned by the License program will be invalid.


3	OS/2 pre-installaiton setup

 PCI software for OS/2 is stored under the \PCIOS2 directory on 
 the CD-ROM.  This CD-ROM may also contain other PCI software 
 directories for different operating systems.
 
 Run the INSTALL.CMD command file in the \PCIOS2 directory
 on the CD-ROM, as follows:
 
 - Open the Command Prompts folder in the OS/2 System window. 
 - Open the OS/2 Window folder in the Command Prompts window.
 - Make your CD-ROM the active drive (for example, E: drive)
   then run INSTALL inside the OS/2 command window, as follows:
 
        E:\PCIOS2\INSTALL
 
 - Follow the instructions given in the command window.
 - Type \EXIT inside the OS/2 command window to close it.
 - Close the Command Prompts window by double-clicking the upper left
   corner of the window.
 
 By default, PCI software is installed on C: drive. If you wish to install
 PCI software on a different drive (for example, D: drive), then
 specify the drive letter (followed by a colon) in the command line, as
 follows:
 
        \PCIOS2\INSTALL D:

4 	Setting up PCI Software folder and ImageWorks in OS/2
 
 A PCI software folder must be set up to allow users to run ImageWorks and
 other PCI programs.  This is not done automatically when PCI software
 is installed, and must be done by following the instructions given below.
 
 - To create the PCI Software folder, do the following:
 - Open (double-click) the Templates icon on the desktop.
 - Point to the Folder template in the Templates window.
 - Press and hold mouse button 2 (right button).
 - Drag a copy of the Folder template to an empty place on the desktop.
 - Release mouse button 2.  A new Folder icon is created on the desktop.
 - Press and hold the Alt key on the keyboard, then click mouse
   button 1 (left button) on the new Folder icon.
 - Erase Folder (using the DEL key), then type PCI Software for the
   folder title.
 - Click mouse button 1 in an empty place of the desktop to accept
   the new title.
 - Open (double-click) the new PCI Software folder.  An empty
   PCI Software window should appear.
 
 To create a program item for ImageWorks, do the following:
 
 - Point to the Program template in the Templates window.
 - Press and hold mouse button 2 (right button).
 - Drag the Program template to the PCI Software folder.
 - Release mouse button 2.  The Program-Settings window appears.
 - Type C:\PCI\EXE\IMAGEWOR.EXE in the ``Path and file name'' box.
 - Click the ``Working directory'' box, then type C:\PCI\USER
   (or other directory). 
 - Choose the ``General'' page tab in the Program-Settings window.
 - Erase Title (using the DEL key), then type ImageWorks in the ``Title'' box.
 - Close the Program-Settings window by double-clicking the upper
   left corner of the window.
 
 The ImageWorks icon will now appear inside the PCI Software window.
 
 Close the Templates folder by double-clicking the upper left corner
 of the Templates window.
 

4	Editing the OS/2 CONFIG.SYS file
 
 PCI software for OS/2 requires modification to
 the CONFIG.SYS file.  The PATH and LIBPATH environment
 variables must be modified, and the OS2SNTNL.SYS driver for
 the Sentinel interlock drive must be installed.
 
 Note:  If PCI software is not on C: drive, substitute C: with the
 appropriate drive letter in the following instructions.
 
 Use the OS/2 System Editor to add C:\PCI\EXE to the SET PATH and SET LIBPATH
 commands, and to install the Sentinel device driver C:\PCI\ETC\OS2SNTNL.SYS
 
 You can edit the CONFIG.SYS file by doing the following:
 - Open (double-click) the Drives folder in the OS/2 System window.
 - Open the C Drives icon in the Drives window.
 - Open the root directory (the minus icon at the top of the tree)
   in the Tree View window.
 - Double-click the C Drive icon in the root directory window.
 - Open the CONFIG.SYS file folder in the Icon View window.
   An OS/2 System Editor window containing the text of CONFIG.SYS will appear.
 - Use the arrow keys to move around the CONFIG.SYS file until you
   find the existing SET PATH and SET LIBPATH statements in the file.
   (The word SET may be missing from the command).
 - Append C:\PCI\EXE; to the SET PATH statement by typing
   text at the end of the line.
 - Append C:\PCI\EXE; to the SET LIBPATH statement by typing
   text at the end of the line.
 - Add the following new line of text at the end of the file:

        DEVICE=C:\PCI\ETC\OS2SNTNL.SYS

 - Close the OS/2 System Editor window by double-clicking the
   upper left corner of the window.
 - If you are prompted to select file type, choose Plain Text.
 - Close other open windows in the same manner.
 
 The computer should be shutdown and rebooted to update the PATH and LIBPATH
 variables and install the Sentinel driver.
 To shutdown the system, do the following:

 - Point to an empty area on the desktop.
 - Click mouse button 2, then select ``Shut down'' from the pop-up menu.
 - Select Yes to confirm shutdown, and wait for message stating that
   shutdown is complete.
 - Reboot computer by pressing CTRL+ALT+DEL keys, or by turning power
   off and on.


2	Licensing PCI Software
@index{Licensing}

 This PCI License / Copy Protection System section explains how to 
 ensure that ImageWorks is licensed to run and the Running ImageWorks 
 section explains how to run ImageWorks.

2	Systems with Existing PCI EASI/PACE software
@index{Directory Creation!Update}

 If you already have some PCI software (typically EASI/PACE) then you 
 should use the same installation directory and consider ImageWorks to be an 
 addition to it. The ImageWorks distribution is designed to dovetail into the 
 standard EASI/PACE system.

 If there is an account for the PCI software then you should log into 
 this account 
 to install ImageWorks. Installation proceeds from the home directory of this 
 account (i.e., don't change directories after logging in).

 If there is no account then just move to the pci directory. This directory is 
 usually named something like /usr/pci or /home/pci or /pci (for VMS, 
 PCI:[000000]). 

 Make sure you have the proper privileges to access this directory. This may 
 require logging on as system manager (i.e., root, superuser, or system).

 For example:

 UNIX:

   % cd /pci

 VMS:

   $ set default PCI:[000000]


3	Creating a New Directory/Account
@index{Directory Creation!New User}

 If this is your first piece of PCI software we suggest creating a 
 new directory (or a new account) called pci. 

 For example:

 UNIX:

   % mkdir pci

   % cd pci

 On PC platforms:

   Create a new folder named "pci".

 VMS:

   $ create/directory disk:[PCI]

 where disk: is the disk drive name on which you plan to install 
 ImageWorks (i.e. DUA0:).

 You need to define the following VMS logical and symbolic name (we 
 suggest also adding these to your LOGIN.COM file):

   $ define PCI disk:[PCI.]/trans=(conc,term)

   $ imageworks:== "$PCI:[exe]imageworks.exe"

 Now change to the PCI directory.

   $ set default PCI:[000000]

 In addition to this definition, any account used to run ImageWorks will 
 require certain resources.

 In order for EASI/PACE to run, the system manager must ensure that the 
 PCI account and all other user accounts have the following default 
 privileges:

   GRPNAM	may insert in group logical name table

   TMPMBX	may create temporary mailbox

   NETMBX	may create network device

 All EASI/PACE user accounts should also have their buffered I/O byte 
 limit and paging file quota increased to 65536, and when using X-
 Windows displays, to at least 100000 to 200000 (see example below).

 To assign required privileges and increase quotas for the PCI account, the 
 system manager must run the AUTHORIZE utility, as follows:

   $ SET DEFAULT SYS$SYSTEM

   $ RUN AUTHORIZE

   UAF> MODIFY PCI/
   PRIVILEGES=(GRPNAM,TMPMBX,NETMBX,LOG_IO,PHY_IO,AL
   TPRI)

   UAF> MODIFY PCI/
   DEFPRIVILEGES=(GRPNAM,TMPMBX,NETMBX,LOG_IO,PHY_IO
   ,ALTPRI)

   UAF> MODIFY PCI/BYTLM=200000/PGFLQUOTA=100000

 An example of the various limits which can be given to the PCI account is 
 shown below. In particular, please note the settings of Maxdetach, Prclm, 
 Fillm, ASTlm, ENQlm, Bytlm, and Pgflquo.

   UAF>SHOW PCI

   Username: PCI			Owner: PCI

   Account: R_D			UIC: [35000,7] ([PCI])

   CLI: DCL			Tables: DCLTABLES

   Default: DISK$GENERAL:[PCI]

   LGICMD:

   Login Flags:

   Primary days: Mon Tue Wed Thu Fri

   Secondary days:				Sat Sun

   No access restrictions

   Expiration: (none) Pwdminimum: 4 Login Fails:0

   Pwdlifetime: 28 00:00 Pwdchange: 24-JUN-1991 08:33

   Last Login: 28-JUN-1991 09:57 (interactive),

        25-MAY_1989 14:00 (non-interactive)

   Maxjobs: 	0	Fillm: 		100	Bytlm:	
   200000

   Maxacctjobs:	0		Shrfillm: 	0	Pbytlm:	0

   Maxdetach: 	0	BIOlm: 		18	JTquota:	0

   Prclm:	20	DIOlm:		18	WSdef:	256

   Prio:	4	ASTlm:		100	WSquo:	4096

   Queprio:	0	TQElm:		10	WSextent:	
   16384

   CPU:	(none)	Enqlm:		200	Pgflquo:	
   100000

   Authorized Privileges:

   GRPNAM TMPMBX NETMBX

   Default Privileges:

   GRPNAM TMPMBX NETMBX

   UAF>EXIT

2	Running PCI License / Copy Protection System
@index{Installation!Licensing}{Licensing}

 This is an overview of using PCI's License Management / Copy Protection 
 system. For further information, the user is directed to read the System
 Specific Licensing Guide.

 PCI uses a system of license keys which are applied to a license file
 to enable operation. For network users, a license key for each 
 licensed CPU must be applied. More than one license key can be applied 
 to a single license file.

 If you have not been prelicensed the following steps will take you through 
 the licensing process:

3	UNIX:
@index{Licensing!UNIX}

 Get your CPU Id. by running the license program and noting the CPU Id. 
 number it presents, for example:

   % etc/license

   CPU Id. of current system is: [1762007148]

     :          :          :          :

     :          :          :          :

   Enter command: x

 Contact PCI's Product Support department and have your CPU Id. number and 
 type of computer system ready. This can be done by telephone, fax, or E-mail.
 You will receive an alphanumeric License Key.

 Use the license program to apply your License Key to the ImageWorks 
 program.

   % etc/license XXXXXXXXXXXXXXXXX 

 where XXXXXXXXXXXXXXXXX is your License Key.

 Write the License Key on a piece of paper and place it in a safe place 
 in case you ever need to re-install the ImageWorks software from the 
 distribution CDROM

3	SCO UNIX:
@index{Licensing!SCO UNIX}

 For SCO UNIX, in addition to applying your license key as with other UNIX 
 systems, it is necessary to install the Interlock device and its driver on 
 your system. 

 The Interlock device itself attaches to the Parallel port on the back of your 
 computer (between the computer and the printer cable, if a printer is 
 attached). Installing the driver does not impact the use of the printer or 
 system spooler in any way.

 To install the Interlock driver, perform the following steps:

 - Make a backup of your user files. It is very unlikely that anything 
   will go wrong during the installation process, but if something does, this 
   will allow you to recover.

 - The system will need to be rebooted as part of the driver installation. 
   It is recommended that you ensure that all other users (if any) are logged 
   off. You will need to be logged in as root to perform the remaining steps.

 - Do not hit the <DEL> key or <RESET> button, power down your system, 
   or in any way attempt to interrupt the installation once it has begun. 
   Doing so may corrupt your system and leave it unbootable.

3	VMS:
@index{Licensing!VMS}

 Get your CPU Identification Number by running the license program and 
 noting the number it presents:

   $ run pci:[etc]license

   CPU Id. of current system is: [1762007148]

     :          :          :          :

     :          :          :          :

   Enter command: x

 Contact PCI's Product Support department, and have your CPU Identification 
 number and type of computer system ready. Contact can be made by telephone, 
 fax, or E-mail. You will receive an alphanumeric License Key.

 Use the license program to apply your License Key to the ImageWorks 
 program:

   $ license :== "$pci:[etc]license.exe"
   $ set default pci:[000000]
   $ license XXXXXXXXXXXXXXXXX 
   $ delete/symbol/global license

   where XXXXXXXXXXXXXXXXX is your alphanumeric License Key.

 Write the License Key on a piece of paper and place it in a safe place in 
 case you ever need to re-install the ImageWorks software from the 
 distribution CDROM

3	Mac OS

 Run the PCI license program (double click on the license
 icon in the etc folder within the  PCI folder) to get your system
 identification number.  
 
 Now, please contact PCI's Product Support to get your License Key, 
 then apply the key using the license program.

 Note: The license key is case sensitive.
 
	- Select `k' and enter your license key.
	- Select `a' to apply the license key.
	- Select `x' to exit from the license program.
 
 ImageWorks should now be ready to run.
 

3	PC Platforms

 Note:  If PCI software is not on C: drive, substitute C: with the
 appropriate drive letter in the following instructions.
 
 The following steps take you through the licensing process:
 Open an MS-DOS command window (double-click the MS-DOS icon in the Main
 group)
 Type the following command to run the LICENSE program to print your
 4-character CPU ID Number:
        C:\PCI\ETC\LICENSE

 Enter X to exit the LICENSE program after the CPU ID is printed.
 Contact PCI's Support Department and tell them your CPU ID number.

 This can be done be telephone, fax or Email.
 PCI will give you a 27-character license key which must be applied
 before PCI programs can be run.

 Type the following command in the MS-DOS command 
 window (replacing "xxxxxxxx" with your 27-character license key):

        C:\PCI\ETC\LICENSE xxxxxxxx


 Type EXIT to close the MS-DOS command window.

 Write down your License Key and place a copy of it in a safe place in
 case you ever need to install PCI software again from CD-ROM.
 
2	Post Installation Instructions

 For Unix:

 The post-installation for Unix is quite simple, and consists of making a
 few changes to your .cshrc or .login file (depending on which
 shell you use).  These are outlined in the window that pops up, and can
 either be made to each person's files, or to a system wide equivalent,
 depending on how many people are going to use ImageWorks.  The settings
 are:

 If you are using the C-Shell (csh), you must add these
 environment variables and add the PCI exe directory to
 your path by adding these lines to every user's .cshrc:

            setenv PCIHOME ./pci
            set path = ( $path $PCIHOME/exe )

 Or if you use the Bourne Shell (sh), you must add:
 these lines to every user's .profile:

            set PCIHOME=./pci
            export PCIHOME
            set PATH=$PATH:$PCIHOME/exe:
            export PATH

 For Windows 3.1, Windows 95, and NT:

 For Windows, the post install processing takes a number of steps, and 
 requires the user to reboot the system at the end for the changes to 
 take effect:

 For Windows 3.1:

 The first step is to select the User working directory.  This is a
 base directory for the user to work out of and is primarily used to
 allow different users to work without colliding with each other.


 For the AUTOEXEC.BAT file:
 - Add the PCI\EXE directory to the PATH.
 - Add the environment variable PCIHOME to point to the PCI directory 
   tree.
 - Add the environment variable PCIUSER to point to the user's 
   working directory.
 - Add the command to start PIPE.COM (from the PCI root area)
 - Add any necessary commands required for SMARTDRV (see your MS-DOS
   manual for information on SMARTDRV).

 For the CONFIG.SYS file:
 - Add ANSI.SYS if not already there.
 - Add any necessary entries required for SMARTDRV (see your MS-DOS
   manual for information on SMARTDRV).

 For Windows 95:

 For the AUTOEXEC.BAT file:
 - Add the PCI\EXE directory to the PATH.
 - Add the environment variable PCIHOME to point to the PCI directory 
   tree.

 For Windows NT:

 - Add the PCI\EXE directory to the PATH.
 - Add the environment variable PCIHOME to point to the PCI directory 
   tree.


2	Running ImageWorks
@index{Running ImageWorks}

 Under normal circumstances ImageWorks is run by typing in the name of the 
 executable and the path of the directory it is in. For example, assuming the 
 directory /usr/pci/exe:

 UNIX:

   % /usr/pci/exe/imageworks

 On PC platforms:

   Double click on the ImageWorks icon to start.

 VMS:

   $ run pci:[exe]imageworks.exe

 It is also possible to add the directory path to your command search path, 
 to add an alias into your csh or ksh, or, in VMS, to define the symbolic 
 name for ImageWorks. Ask your system manager to show you how to do this. 
 If this set-up is used the following command would be sufficient:

   % imageworks

 Once ImageWorks is running, data can be loaded or viewing parameters set 
 interactively using the graphical interface. It is also possible to start 
 ImageWorks and automatically load data and set viewing parameters using 
 command line options. For example:

   % imageworks -ip 4 -datasize 768 768

 See the section on Command Line Options for more information.


